python_Socket服务端开发

Socket(套接字),是进程之间通讯的一种工具。负责进程之间的网络数据传输,是数据的搬运工

两个进程之间通过Socket进行相互通讯,就必须有服务端和客户端

①Socket服务端:等待其他进程的连接欸,可接受发来的消息,可以回复消息
②Socket客户端:主动连接欸服务端,可以发送消息,可以接受消息

import socket

#创建一个Socket对象

socket_server = socket.socket()

#绑定Socket——server到指定ip和地址
socket_server.bind(("localhost",8888))

#服务端开始监听端口
socket_server.listen(1)#接受的整数参数表示允许连接的数量

#接受客户端连接,获得连接对象
# result:tuple = socket_server.accept()#返回值为二元元组
# conn = result[0]      #客户和服务器的连接对象
# address = result[1]   #客户端的地址信息

conn , address = socket_server.accept()#返回值为二元元组,为客户和服务器的连接对象和客户端的地址信息,accept是一个阻塞的方法

print(f"接受到了客户端的连接,客户端的信息是:{address}")

#客户端连接之后,通过recv方法,接收客户端发送的消息,要使用客户端和服务的短连接对象,而不是Socket_server对象
#recv接受的参数是缓冲区的大小,revc返回值是一个字节数组,可以通过decode方法将字节数组转换为字符串对象
data:str = conn.recv(1024).decode("utf-8")
print(f"客户端发的消息是,{data}")


#通过conn(客户端当时连接的对象),调用send方法可以回复消息
msg:str = input("请输入你要和客户端回复的消息").encode("utf-8")#encode可以将字符串编码为字节数组对象
conn.send(msg)

#conn(客户端当此连接对象)和Socket——server对象调用close方法,关闭连接
conn.close()
socket_server.close()

下载客户端小程序:https://github.com/nicedayzhu/netAssist/releases/tag/v0.9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是两三杯可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值