''' 服務端 ''' import time ''' socket.AF_INET ipv4 socket.AF_INET6 ipv6 socket.SOCK_STREAM 流式,tcp socket.SOCK_DGRAM 數據報,udp ''' import socket # 建立鏈接 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 地址(IP,port) #add = ('120.79.36.170',6666) add = ('127.0.0.1',6666) # 綁定地址,地址必須是元祖 s.bind(add) # 監聽,同時接受的socket數量 s.listen(10) print("server is running ...") while 1: try: # 接受鏈接,conn新的套接字,addr客戶端地址 conn,addr = s.accept() while 1: # 接收數據,參數接收的大小 data = conn.recv(2048) if data == b'exit': conn.close() print("RECV:{0}".format(data)) # 發送數據 conn.sendall(data.upper()) except Exception as e: conn.close()
''' 客戶端 ''' import socket # 建立鏈接 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 地址(IP,port) add = ('127.0.0.1', 6666) s.connect(add) flage = 1 while flage: word = input("word:") if word == "exit": flage = 0 if word == "": continue # 發送數據 s.sendall(word.encode("utf-8")) data = s.recv(2048) print("RECV:{0}".format(data))