TCP Python套接字服务器响应

时间:2016-05-25 05:19:20

标签: python sockets tcp server

我正在编写一个TCP python脚本,它将充当服务器并从机器(客户端)检索温度读数。我需要从服务器向客户端传递命令并侦听响应的输出。我成功到达cmd定义行,但是当调用s.accept()时,我没有响应客户端。

Server.py

import socket
port = 7777
ip = raw_input('192.168.62.233')

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((ip, port))
s.listen(1)
print "waiting on port: ", port

while True:
    cmd = raw_input('KRDG? A[term]')#command send to client

    conn, addr = s.accept()

    s.send(cmd)

    print "It sent"

    data = conn.recv(4096)

    print "Received:", data, " from address ", addr

编辑:

我相信你是对的,我应该把我的代码视为服务器上的客户端和温度读数。当我去s.recv()时,我现在在“这里2”之后左转。

Client.py

import socket

ip = '192.168.62.233'
port = 7777              # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, port))

print 'here'
s.send('KRDG? A[term]')

print 'here 2'
data = s.recv(4096)
print 'here 3'
s.close()
print 'Received', repr(data)

1 个答案:

答案 0 :(得分:0)

通常,TCP服务器accept会在等待客户端连接时阻塞。您是否检查过以确保您的客户可以并且正在连接?您可以使用tcpdump或类似工具来观察网络活动并确保客户端正在连接。