client端:
import socket
client = socket.socket()
client.connect(('localhost',8888))
while True:
msg=input(">>:").strip()
if len(msg) == 0 : continue
client.send(msg.encode('utf-8'))
data = client.recv(10240)
print("recv:",data.decode())
client.close()
#################
server端支持多线程完整示例代码:
import socketserver
class MyTCPHandler(socketserver.BaseRequestHandler):
def handle(self):
while True:
try:
self.data = self.request.recv(1024).strip()
print("{} wrote:".format(self.client_address[0]))
print(self.data)
self.request.send(self.data.upper())
except ConnectionResetError as e:
print("err",e)
break
if __name__ == "__main__":
HOST,PORT="0.0.0.0",8888
server= socketserver.ThreadingTCPServer((HOST,PORT),MyTCPHandler)
server.serve_forever()
#################
server端支持多连接,将socketserver.TCPServer改为socketserver.ThreadingTCPServer
转载于:https://blog.51cto.com/bujuhandong/1908127