做公众号试卷的网站,淮南网站建设公司,建设网站要先给钱才能做,有没有免费的直播视频Socket #xff1a;进程之间通信的工具,进程之间想要进行网络通信需要Socket#xff0c;两个进程之间通过socket进行相互通讯,就必须有服务端和客服端。
Socket服务端编程
# 1.创建socket对象
import socketsocket_server socket.socket()# 2. 绑定socket_server到指定IP和…Socket 进程之间通信的工具,进程之间想要进行网络通信需要Socket两个进程之间通过socket进行相互通讯,就必须有服务端和客服端。
Socket服务端编程
# 1.创建socket对象
import socketsocket_server socket.socket()# 2. 绑定socket_server到指定IP和地址
socket_server.bind((localhost, 8888))# 3.服务器开始监听端口 listen方法内接收一个int整数表示允许的链接数量超出的会等待可以不填不填会自动设置一个合理的值
socket_server.listen(1)# 4.接收客户端链接,获得链接对象
# accept方法是阻塞方法等待客户端的链接如果没有链接就卡在这一行不想下执行了。accept返回的是二元元组链接对象客户端的地址信息# 等待客户端链接
# result:tuple socket_server.accept()
# conn result[0] # 客户端和服务端的链接对象
# address result[1] # 客户端的地址信息# 可以通过 变量1变量2 socket_server.accept() 的形式直接接收二元元组内的两个元素
conn, address socket_server.accept() # 简写
print(f接收到了客户端的的链接,客户端的信息是:{address})while True: # 持续通信# 5.客户端连接后通过recv方法接收客户端发送的消息要使用客户端和服务端本次链接对象而不是scoket_server对象# recv接收的参数是缓冲区的大小一般给1024即可# recv方法返回值是一个字节数组也就是bytes对象不是字符串可以通过decode方法通过UTF-8编码将字节数组转换为字符串对象data: str conn.recv(1024).decode(UTF-8)print(f客户端发来的消息是:{data})# 6.通过conn,调用send方法可以回复消息msg input(请输入你要和客户端回复的消息)if msg exit:breakconn.send(msg.encode(UTF-8)) # encode方法可以将字符串编码转为字节数组对象# 7.关闭链接
conn.close()
socket_server.close()
Socket客户端编程
# Socket客户端编程
# 1.创建socket对象
import socket
socket_client socket.socket()# 2. 连接到服务端
socket_client.connect((localhost,8888))while True:# 3.发送消息msginput(请输入你要和服务端发送的消息)if msg exit:breaksocket_client.send(你好呀.encode(UTF-8))# 4. 接收返回消息rece_data socket_client.recv(1024)print(f服务端回复的消息是:{rece_data.decode(UTF-8)})# 5.关闭连接
socket_client.close()