0
import socket
import sys

host=''  # Symbolic name meaning all available interfaces
port=7777  #random port

#creating socket
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print "socket created"

#binding
try:
    sock.bind((host,port))
except socket.error,msg:
    print "Bind failed,Error no:"+str(msg[0])+"error:-"+str(msg[1])
    sys.exit()
print "Bind successful"

sock.listen(10)
print "Listening" # it means that if 10 connections are already waiting to be processed, then the 11th connection request shall be rejected.
conn, addr=sock.accept()#accept new connection
print "connected to "+str(addr[0])+":"+str(addr[1])

#receive from client
data=conn.recv(1024)
print "received-"+data
conn.sendall(data*2)

#terminate
conn.close()
sock.close()

上記は、クライアントからデータを受信して​​応答するためのコードです。「telnet localhost 7777」でcmdを使用して接続しました。次に、単純な「hello world」メッセージを送信したかったのですが、「h」と入力しただけで返信があり、接続が終了しました。

my_code.py の出力

4

1 に答える 1

0

それは私のために働いています。あなたの socketClient は正しく動作していますか?

import socket
string='hello world'
print type(string)
HOST, PORT = 'localhost', 7777
# SOCK_STREAM == a TCP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#sock.setblocking(0)  # optional non-blocking
sock.connect((HOST, PORT))
sock.send(string)
reply = sock.recv(1024)  # limit reply to 16K
print(reply)
sock.close()
return reply
于 2016-06-25T13:45:45.320 に答える