Socket 是什么
Socket 是一種在計算機網絡中用于實現進程間通信的一種機制。它是網絡編程中的重要概念,通過它可以在不同的計算機之間進行數據傳輸和通信。Socket 可以用于實現各種網絡應用,包括客戶端-服務器模型、P2P 應用等。基本上,Socket 允許不同計算機上的進程通過網絡進行通信,從而實現數據交換和協作。
更多詳細知識點可以看
https://segmentfault.com/a/1190000041413541#item-3
添加鏈接描述
服務端代碼
import socket
import sys
import threadingdef send_msg(client_socket):#發送數據while True:message = input()if message == 'close':client_socket.close()sys.exit(0)else:client_socket.sendall(message.encode())print('服務端:', message)def rece_msg(client_socket):# 接收響應while True:data = client_socket.recv(1024)print('客戶端:', data.decode())def server_client():# 創建一個TCP/IP套接字client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 服務地址server_addr = ('localhost', 8888)# 綁定套接字到端口client_socket.bind(server_addr)client_socket.listen(3)# 等待客戶端連接clientsocket, addr = client_socket.accept()return clientsocketif __name__ == '__main__':client_socket = server_client()# 發送消息send_msg = threading.Thread(target=send_msg, args=(client_socket,))send_msg.start()#接收消息rece_msg = threading.Thread(target=rece_msg, args=(client_socket,))rece_msg.start()
客戶端代碼
import socket
import sys
import threadingdef send_msg(client_socket):#發送數據while True:message = input()if message == 'close':client_socket.close()sys.exit(0)else:client_socket.sendall(message.encode())print('客戶端:', message)def rece_msg(client_socket):# 接收響應while True:data = client_socket.recv(1024)print('服務端:', data.decode())if __name__ == '__main__':# 創建一個TCP套接字client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 連接服務器server_addr = ('localhost', 8888)client_socket.connect(server_addr)# 發送消息send_msg = threading.Thread(target=send_msg, args=(client_socket,))send_msg.start()# 接收消息rece_msg = threading.Thread(target=rece_msg, args=(client_socket,))rece_msg.start()