Python socker模块练习(聊天案例)

'''
import socket
# (1) 构建套接字对象,确定通信协议
sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
# (2) 绑定IP和端口
ip_port = ("127.0.0.1", 9999)
sock.bind(ip_port)
# (3) 监听最大排队数
sock.listen(2)
# (4) 阻塞等待客户端连接
while 1:
print("server is waiting...")
conn, addr = sock.accept()
# print("conn", conn)
# print("addr", addr)
while 1:
# 接受来自客户端的消息
data = conn.recv(1024) # recv是一个阻塞函数
print("data",data,type(data))
if data == b"" or data == b"q":
break
print("接受来自客户端的消息:", data.decode())
# 给给客户端发送消息:注意 send发送的字节
conn.send(data.decode().upper().encode())
'''
'''
import socket
# (1) 构建套接字对象,确定通信协议
sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
ip_port = ("127.0.0.1", 9999)
sock.connect(ip_port)
while 1:
# 客户端给服务端发送消息
data = input("请输入:")
sock.send(data.encode())
if data == "q":
break
data = sock.recv(1024)
print("服务端响应消息:", data.decode())
'''
分类:
Python知识点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?