python - 套接字修复错误 TypeError:需要一个整数
问题描述
我必须连接到外星人服务器('localhost',10000),然后发送用户,然后发送外星人信号
但是我收到一条错误消息,这意味着我的 .send 格式不正确。您知道在一个.send 中发送两个不同字符串的好方法是什么吗?
import socket
clientsocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
clientsocket.connect (('localhost', 10000))
clientsocket.send('USER:','aliensignal')
Traceback (most recent call last):
File "/tmp/usercode.py", line 15, in <module>
clientsocket.send('USER:','aliensignal')
TypeError: an integer is required
解决方案
[Python 3.Docs]:套接字。send ( bytes[, flags] )的(可选)flags参数必须是一个整数(通常你不应该使用它,但如果你想要更多细节检查[man7]: RECV(2))。
至于您目前的情况,您可以:
调用send两次(每个调用一次):
clientsocket.send(b"USER:") clientsocket.send(b"aliensignal")
连接字符串 ( bytes ) 并同时发送它们:
clientsocket.send(b"USER:aliensignal")