0
私はサーバーとして動作し、マシン(クライアント)から温度の読み取り値を取得するTCP pythonスクリプトを作成しています。私はサーバーからクライアントにコマンドを渡し、応答の出力を聞く必要があります。私は正常にcmdの定義行に到達しますが、s.accept()が呼び出されると、クライアントから応答がなくてもハングアップしてしまいます。TCP Pythonソケットサーバーの応答
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()に行くと、 "here 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)
通常、これは逆の方法です。クライアントはコマンドを使用してサーバーに確認します。クライアントコードはどこですか? – Daniel
私はあなたが正しいと信じています、私は自分のコードをクライアントと温度の読み取りをサーバーで考慮する必要があります。 –
@ScottMacdonaldこれで、あなたはip:portでサーバに接続し、それにデータを送信することができますが、あなたはドンしません。しかし、私は今、 "here 2"の後ろにぶら下がっています。もう何も受け取りません。サーバーコードはありますか?サーバーでクライアントデータが受信されたかどうか、およびサーバーがそのデータを受信したかどうかを確認できますか? – margold