在Python中打开套接字的最佳方法

Ada*_*rce 42 python networking tcp

我想用Python打开一个TCP客户端套接字.我是否必须通过所有低级BSD create-socket-handle/connect-socket的东西,或者是否有更简单的单行方式?

The*_*i.9 72

在python中打开套接字非常简单.你真的只需要这样的东西:

import socket
sock = socket.socket()
sock.connect((address, port))
Run Code Online (Sandbox Code Playgroud)

然后你就可以send()recv()像任何其他插座

  • 如何在元组结尾添加逗号可以提高清晰度? (25认同)
  • 警告:`(地址,端口)`是一个元组,因此是一个参数,而不是两个参数!为清楚起见,可以这样写:`sock.connect((address,port,))` (4认同)

Ada*_*rce 19

好的,这段代码有效

s = socket.socket()
s.connect((ip,port))
s.send("my request\r")
print s.recv(256)
s.close()
Run Code Online (Sandbox Code Playgroud)

从Python套接字模块文档中解决这个问题非常困难.所以我会接受The.Anti.9的回答.

  • 你忘了检查发送的返回值. (4认同)

All*_*len 11

为了在Python中开发任何类型的便携式网络程序,Twisted非常有用.它的一个好处是在低级套接字API之上提供了一个方便的层.

  • 扭曲 = 矫枉过正 (2认同)