1 #客户端
2 import socket
3
4 client = socket.socket()
5 client.connect(('localhost',6969))
6 client.send(b"hello ni hao") #python3 中只能传输字节码
7 data = client.recv(1024) #1024指定接受的数据大小 将接受的数据赋值给data
8 print("recv:",data)
9 client.close()
1 import socket
2
3 #服务端
4 server = socket.socket()
5 server.bind(('localhost',6969)) #绑定要监听端口
6 server.listen() #监听
7 print("我要开始等电话了")
8 conn,addr = server.accept() #等电话打进来 accept 会返回两个值 conn,addr conn为连接产生的链接实例 客户端连过来而在服务器端为其生成的一个实例 addr对方链接的地址
9 print("电话来了")
10 data = conn.recv(1024) #接受1024字节,将接收的数据赋值给data
11 print("recv:",data)
12 conn.send(data.upper()) #将接收的数据进行转大写操作后返回给客户端
13 server.close()
简易c-s 聊天版本:
1 #客户端
2 import socket,time
3
4 client = socket.socket()
5 client.connect(('10.139.165.32',9502))
6 print("来聊天啦")
7
8 while True:
9 message = input("你说:")
10 print(time.ctime())
11 if len(message) == 0: #当输入为空时候,让用户重新输入
12 continue
13 client.send(message.encode("utf-8")) #python3 中只能传输字节码 ,如果是传输的中文则必须先encode utf-8
14 data = client.recv(1024) #1024指定接受的数据大小 将接受的数据赋值给data
15 print("服务器回应:",data.decode())
16 print(time.ctime())
17 client.close()
1 import socket,time
2
3 #服务端
4 server = socket.socket()
5 server.bind(('10.139.165.32',9502)) #绑定要监听端口
6
7 server.listen(5) #监听 此处的5表示默认最大挂起链接 (需要在异步时候才能有效果)
8 print("我要开始等电话了")
9 print(time.ctime())
10 while True:
11
12 conn,addr = server.accept() #等电话打进来 accept 会返回两个值 conn,addr conn为连接产生的链接实例 客户端连过来而在服务器端为其生成的一个实例 addr对方链接的地址
13 print("电话来了")
14 print(time.ctime())
15 while True:
16 data = conn.recv(1024) #接受1024字节,将接收的数据赋值给data
17 if not data:
18 print("客户端链接关闭。。。。")
19 print(time.ctime())
20 break
21
22 print("client sey :",data.decode())
23 print(time.ctime())
24 message = input("你回复:")
25 print(time.ctime())
26 conn.send(message.encode("utf-8"))
27
28 server.close()