博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Python3】网络编程基础
阅读量:4286 次
发布时间:2019-05-27

本文共 1371 字,大约阅读时间需要 4 分钟。

服务端

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()

转载地址:http://jpvgi.baihongyu.com/

你可能感兴趣的文章
linux 安装reids集群
查看>>
linux 安装zookeeper集群
查看>>
RocketMq单机安装(Windows)
查看>>
Windows 上安装 MySQL
查看>>
CentOS-7搭建Gitlab服务器
查看>>
软件架构设计原则(我们为什么要学习)
查看>>
eclipse 的mybatis中mapper.xml文件标签没有提示的解决方法
查看>>
linux 上一主两从mysql集群中某台数据库宕机解决方法
查看>>
大牛面试指南
查看>>
android入门(一)---UI组件之文本框(TextView)
查看>>
演示动画怎么实现的
查看>>
android入门---Activity组件.活动(一)
查看>>
Android入门---GridView组件
查看>>
获取apk文件上的精美图片素材
查看>>
RelativeLayout中Margin属性
查看>>
JAVA中文乱码解决方法
查看>>
端口号占用问题 serveral ports(8080,8009) are already in use
查看>>
Button中使用颜色控制按钮点击时的形状和颜色
查看>>
Android入门---ImageView(图像视图)
查看>>
浅析JAVA的抽象和接口
查看>>