我正在尝试使用 socket.connect() 连接到服务器上的端口 - 并且我将带有 IP 地址和端口的元组传递给该函数。这是按照标准的:https ://docs.python.org/3/howto/sockets.html#using-a-socket
[som@jsclone pwman]$ cat test.py
#!/home/som/dev/dev/bin/python
import socket
def open_socket(port, ip='127.0.0.1'):
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
s.connect((ip, port))
return s
sock = open_socket(49152)
当我尝试执行上面的代码时,出现错误:
[som@jsclone pwman]$ ./test.py
Traceback (most recent call last):
File "./test.py", line 11, in <module>
sock = open_socket(49152)
File "./test.py", line 7, in open_socket
s.connect((ip, port))
TypeError: a bytes-like object is required, not 'tuple'
Python版本:
[som@jsclone pwman]$ /home/som/dev/dev/bin/python --version
Python 3.7.4
正如您所看到的,只需连接到端口(甚至没有实际发送任何数据,我就会收到此错误!我知道这种情况,会抛出socket.sendall()
此错误,但不会socket.connect()
!
我究竟做错了什么?socket.sendto()PS由于其他一些依赖代码的性质,我无法使用。
森栏
婷婷同学_
相关分类