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()
View Code

 

●使用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'))
View Code

 

posted @ 2017-03-26 16:15  山的那一边  阅读(209)  评论(0)    收藏  举报