我想创建一个小型的TCP服务器,从通过以太网连接到我的计算机的设备接收传入的TCP连接。在
的物理端口静态分配了IP 192.168.1.100。在
我用作客户机和服务器的脚本列在底部。在
如果我想在python脚本之间发送消息,那么这个设置可以工作。但是,我无法从外部设备接收任何信息(下面是Wireshark捕获的截图)。从我读到的,我可以定义一个接口来监听它的IP。所以我将接口的IP定义为host变量。但是,除了其他脚本发送的消息外,我不接收脚本中的任何内容。我在stackoverflow上已经有过类似的情况。我认为将正确的IP定义为主机可以解决这个问题,但事实并非如此。在
我也很难用Wireshark捕捉两个脚本之间的流量。他们没有出现在任何地方。在
在CDI接口上使用这些静态连接{{1}:
tcp_server.pyimport socket
# create a socket object
serverSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# get local machine name
# host = socket.gethostname()
host = "192.168.1.100"
port = 9002
# bind to the port
serverSocket.bind((host, port))
# queue up to 5 requests
serverSocket.listen(5)
while True:
# establish a connection
clientSocket, addr = serverSocket.accept()
print("Got a connection from %s" % str(addr))
msg = 'Thank you for connecting' + "\r\n"
clientSocket.send(msg.encode('ascii'))
clientSocket.close()
作为客户:
tcp_client.py
^{pr2}$