網路基礎——阿里雲部署 ---連外網實現遠端通訊
阿新 • • 發佈:2020-08-17
#server
# coding:utf-8 #在python2中必須加檔案頭 # from socket import * # # # server=socket(AF_INET,SOCK_STREAM) # server.bind(('127.0.0.1',8080)) # server.listen(5) # # while True: # conn,addr=server.accept() # print(addr) # # while True: # try: # data=conn.recv(1024) # if len(data) == 0:break# conn.send(data.upper()) # except Exception: # break # # conn.close() # 支援併發版本 import socketserver class MyRequestHandler(socketserver.BaseRequestHandler): def handle(self): # 處理通訊 print(self.client_address) while True: try: data= self.request.recv(1024) # self.request=>conn if len(data) == 0: break self.request.send(data.upper()) except Exception: break self.request.close() if __name__ == '__main__': s = socketserver.ThreadingTCPServer(('127.0.0.1', 8080), MyRequestHandler, bind_and_activate=True) s.serve_forever()
#client
from socket import * client=socket(AF_INET,SOCK_STREAM) client.connect(('121.199.45.113',8080)) while True: msg=input(">>: ").strip() if len(msg) == 0: continue client.send(msg.encode('utf-8')) data=client.recv(1024) print(data.decode('utf-8'))