【Python3】网络编程基础(Python3基础)

网友投稿 287 2022-08-27


【Python3】网络编程基础(Python3基础)

服务端

import socket# 创建服务端socket对象server = socket.socket()# 绑定IP和端口server.bind(('192.168.13.155',8000))# 后边可以等5个人server.listen(5)print('服务端准备开始接收客户端的连接')# 等待客户端来连接,如果没人来就傻傻的等待。# conn是客户端和服务端连接的对象(伞),服务端以后要通过该对象进行收发数据。# addr是客户端的地址信息。# #### 阻塞,只有有客户端进行连接,则获取客户端连接然后开始进行通信。conn,addr = server.accept()print('已经有人连接上了,客户端信息:',conn,addr)# 通过对象去获取(王晓东通过伞给我发送的消息)# 1024表示:服务端通过(伞)获取数据时,一次性最多拿1024字节。data = conn.recv(1024)print('已经有人发来消息了',data)# 服务端通过连接对象(伞)给客户端回复了一个消息。conn.send(b'stop')# 与客户端断开连接(放开那把伞)conn.close()# 关闭服务端的服务server.close()

客户端

import socketclient = socket.socket()# 王晓东向服务端发起连接请求(递伞)# 阻塞,去连接,直到连接成功后才会继续向下走。client.connect(('192.168.13.155',8000))# # 链接上服务端后,向服务端发送消息client.send(b'hello')# 王晓东等待服务端给他发送消息data = client.recv(1024)print(data)# 关闭自己client.close()

python3传输数据默认为字节类型

示例2:客户端

import socketsk = socket.socket()sk.connect(('192.168.13.155',8001))while True: name = input("请输入姓名:") sk.send(name.encode('utf-8')) # 字节 if name == 'exit': break response = sk.recv(1024) # 字节 print(response.decode('utf-8'))sk.close()

示例2:服务端

import socketserver = socket.socket()server.bind(('192.168.13.155',8001))server.listen(5)while True: conn,addr = server.accept() # 字节类型 while True: data = conn.recv(1024) # 阻塞 if data == b'exit': break response = data + b' SB' conn.send(response) conn.close()


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Python】多继承之C3算法(python3 继承)
下一篇:【Python】threading.local
相关文章

 发表评论

暂时没有评论,来抢沙发吧~