欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

计算机网络通信中传输的是,联合网络通信集团有限公司

墨初 知识笔记 36阅读

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:        break    conn.send(msg.encode(UTF-8))  # encode方法可以将字符串编码转为字节数组对象# 7.关闭链接conn.close()socket_server.close()
Socket客户端编程
# Socket客户端编程# 1.创建socket对象import socketsocket_client  socket.socket()# 2. 连接到服务端socket_client.connect((localhost,8888))while True:    # 3.发送消息    msginput(请输入你要和服务端发送的消息)    if msg  exit:        break    socket_client.send(你好呀.encode(UTF-8))    # 4. 接收返回消息    rece_data  socket_client.recv(1024)    print(f服务端回复的消息是:{rece_data.decode(UTF-8)})# 5.关闭连接socket_client.close()

标签:
声明:无特别说明,转载请标明本文来源!