Python课程-w73班
Louyj's Blog
Toggle navigation
Python课程-w73班
Home
班级课件
课堂代码
课后作业
学习资料
Archives
Tags
2022-05-15课堂代码
2022-05-15 08:36:39
18
0
0
python-w73
socketserver.py ``` import socket # 1.初始化socket对象 import time server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # SOCK_STREAM: TCP面向连接的, 流式传输; 可靠,性能有损失. # SOCK_DGRAM: UDP,面向于非连接的, 数据报文的传输; 不可靠, 性能非常好. # www.baidu.com(ip) # 2. 选址 ip = "127.0.0.1" port = 50000 # 0-65535 server_socket.bind((ip, port)) # 3. 监听/建商店 # backlog 可以同时接受的等待连接数有多少 server_socket.listen(5) # 4.接受客户端连接/开门营业 # client_socket专门负责与客户端通信的socket连接(导购员) # address 客户端地址 # 这个方法是阻塞的 (blocked), 直到有客户端进来才会执行后续的代码 client_socket, address = server_socket.accept() # 5. 数据传输 # 字符串->字节数组 1. b'' 2. encode方法,编码 # 字节数组转字符串: decode 解码 # ascii 0-9 a-b A-B $%^&* # gbk/gb2312 中文 # 'utf-8' client_socket.send("欢迎来超市购物".encode('utf-8')) # bytes而不是字符串 data = client_socket.recv(1024) print("收到来自客户端的消息:" + data.decode('utf-8')) # 6. 传输结束 client_socket.close() server_socket.close() ``` socketclient.py ``` import socket # 1.初始化socket对象, 客户端必须和服务端参数保持一致 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2. 连接服务器/ 去到超市 # ip服务器的ip, port服务器端口 ip = "127.0.0.1" port = 50000 # 0-65535 client_socket.connect((ip, port)) # 3. 数据交互 data = client_socket.recv(1024) print("接收到服务器发来的消息: " + data.decode("utf-8")) client_socket.send(input("请输入: ").encode("utf-8")) # 4. 结束交互 client_socket.close() # 客户端(input)和服务端一直进行交互,直到客户端说 "再见"/exit/bye ```
Pre:
2022-05-22课件
Next:
2022-05-15课件
0
likes
18
Weibo
Wechat
Tencent Weibo
QQ Zone
RenRen
Submit
Sign in
to leave a comment.
No Leanote account?
Sign up now.
0
comments
More...
Table of content
No Leanote account? Sign up now.