python socket 开发
2024-10-12 09:32:49
- socket 服务端开发
#socket 服务端开发
import socket
# 创建socket 对象
socket_server = socket.socket()
# 绑定ip 地址和端口
socket_server.bind(("localhost",8888))
# 监听端口
socket_server.listen(1)
# listen 方法内接收一个整数参数,表示接收的连接数量
#等待客户端连接
conn,address = socket_server.accept()
# accept()方法返回的是二元元组(连接对象,客户端地址信息)
# 可以通过 变量1,变量2 = socket_server.accept()的形式,直接接收二元元组内的两个元素
# accept()方法,是阻塞的方法,等待客户端的连接,如果没有连接,就卡在这一行不向下执行了
print(f"我接收到了客户端的连接,客户端的信息是: {address}")
while True:
#接收客户端信息,要使用客户端和服务器的本次连接对象,而非socket_server 对象
data = conn.recv(1024).decode("gbk")
#recv 接收的参数是缓冲区大小,一般给1024 即可
#recv方法的返回值是一个字节数组也是 bytest 对象,不是字符串,可以通过decode 方法通过UTF-8 编码,将字节数组转换为字符串对象
print(f"客户端发来的信息是: {data}")
#发送回复信息
msg = input("请输入你要和客户端回复的消息:")
if msg == "exit":
break
conn.send(msg.encode("gbk"))
#关闭连接
conn.close()
socket_server.close()
- socket 客户端开发
"""
socket客户端开发
"""
import socket
# 创建socket 对象
socket_client = socket.socket()
# 连接到服务器
socket_client.connect(("localhost",8888))
while True:
#发送消息
msg = input("请输入要给服务段发送的信息: ")
if msg == "exit":
break
socket_client.send(msg.encode("gbk"))
#接收返回消息
recv_data = socket_client.recv(1024)
print(f"服务端回复的消息是: {recv_data.decode('gbk')}")
# 关闭连接
socket_client.close()
最新文章
- RDIFramework.NET框架Web中datagrid与treegrid控件自动生成右键菜单与列标题右键菜单
- Spring使用——切面编程AOP使用
- SecureCrt脚本(三)二级对象之Screen详解
- ibatis学习过程
- Ubuntu系统使用记录(持续更新)
- Jeally Bean中MonekyRunner 帮助文件
- C#编写记事本(高仿)
- 4.2 spring-import 标签的解析;
- QMapControl介绍
- Swift语言指南(五)--数字字面量和数字类型转换
- ThinkPHP中浏览器友好输出函数
- 深入理解计算机系统_3e 第八章家庭作业 CS:APP3e chapter 8 homework
- 20155214&;20155216 实验一 开发化境的熟悉
- react-router 4实现代码分割(code spliting)
- Go基础(1)
- 2019工作计划idea
- 扒一扒EOS的前世今生
- 高校表白APP-冲刺第一天
- 004_wireshark专题
- python之组合与重用性
热门文章
- 【转载】MSSQL汉字首字母查询处理自定义函数
- Python实现单项链表
- Asp-Net-Webapi项目从Framework-4-5升级到-Net-6的总结
- [数据结构]Dijkstra算法求单源最短路径
- 《Effective C++》定制new和delete
- Python 异步集群使用
- VUE 轮询、轮询终止 beforeRouteLeave
- Kubernetes(k8s)控制器(一):deployment
- 10月27日内容总结——hashlib加密模块和logging、subprocess模块
- P25_wxss - rpx单位