socket网络编程
1,OSI七层协议 TCP/IP分层

2,socket c/s模式

3,TCP三次握手/四次挥手

4,协议-TCP/IP 状态图

●使用tcp协议示例
1 #服务器端 2 # -*- coding: utf-8 -*- 3 import socket 4 5 ip_port = ('192.168.233.209', 8800) 6 back_log = 5 7 buffer_size = 1024 8 9 tcp_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 10 tcp_server.bind(ip_port) 11 12 tcp_server.listen(back_log) 13 while True: 14 conn, addr = tcp_server.accept() 15 print("双向链接是:", conn) 16 print("客户端地址是:", addr) 17 18 while True: 19 data = conn.recv(buffer_size) 20 print("客户端发来的消息:", data.decode('utf-8')) 21 conn.send(data.upper()) 22 23 conn.close() 24 tcp_server.close() 25 26 #客户端 27 # -*- coding: utf-8 -*- 28 import socket 29 30 ip_port = ('192.168.233.209', 8800) 31 buffer_size = 1024 32 33 tcp_client = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 34 tcp_client.connect(ip_port) 35 36 while True: 37 msg = input(">>: ").strip() 38 if not msg: 39 continue 40 tcp_client.send(msg.encode("utf-8")) 41 print("客户端已经发送消息。") 42 43 data = tcp_client.recv(buffer_size) 44 print("收到服务端发来的消息:", data.decode('utf-8')) 45 46 tcp_client.close()
●使用udp协议示例
1 #服务器端 2 # -*- coding: utf-8 -*- 3 import socket,time 4 5 ip_port = ('192.168.233.209', 8800) 6 buffer_size = 1024 7 8 udp_server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 9 udp_server.bind(ip_port) 10 11 12 while True: 13 data, addr = udp_server.recvfrom(buffer_size) 14 print("客户端发来的消息:", data.decode('utf-8')) 15 back_time = time.strftime("%Y-%m-%d %X") 16 udp_server.sendto(back_time.encode('utf-8'), addr) 17 18 #客户端 19 # -*- coding: utf-8 -*- 20 import socket 21 22 ip_port = ('192.168.233.209', 8800) 23 buffer_size = 1024 24 25 udp_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 26 27 while True: 28 msg = input(">>: ").strip() 29 udp_client.sendto(msg.encode('utf-8'), ip_port) 30 31 data, addr = udp_client.recvfrom(buffer_size) 32 print("收到服务端发来的消息:", data.decode('utf-8'))
    ------山的那一边

                
            
        
浙公网安备 33010602011771号