当前位置: 首页 > news >正文

重庆整站seo楚天网站建设合同

重庆整站seo,楚天网站建设合同,广西住房和城乡建设厅三类人员继续教育,移动网站程序Socket Socket (简称 套接字)是进程之间通信一个工具,进程之间想要进行网络通信需要socket。Socket负责进程之间的网络数据传输,好比数据的搬运工。 客户端和服务端 2个进程之间通过Socket进行相互通讯,就必须有服务端和客户端 Socket服务…

Socket

Socket (简称 套接字)是进程之间通信一个工具,进程之间想要进行网络通信需要socket。Socket负责进程之间的网络数据传输,好比数据的搬运工。

在这里插入图片描述

客户端和服务端

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

Socket服务端:等待其它进程的连接、可接受发来的消息、可以回复消息

Socket客户端:主动连接服务端、可以发送消息、可以接收回复

在这里插入图片描述

Socket服务端编程

主要分为如下几个步骤:
1、创建socket对象

import socket
socket_server = socket.socket()

2、绑定socket_server到指定IP和地址

socket_server.bind((host, port))

3、服务端开始监听端口

socket_server.listen(backlog)
# backlog为int整数,表示允许的连接数量,超出的会等待,可以不填,不填会自动设置一个合理值

4、接收客户端连接,获得连接对象

conn, address = socket_server.accept()
print(f'接收到客户端连接,连接来自:{address}')
# accept()是阻塞方法,如果没有连接,会卡在当前这一行不向下执行代码
# accept()返回的是一个二元元组,可以使用上述形式,用两个变量接收二元元组的2个元素

5、客户端连接后,通过recv方法,接收客户端发送的消息

while True:data = conn.recv(1024).decode('UTF-8')# recv()的返回值是字节数组(Bytes),可以通过decode使用UTF-8解码为字符串# recv()的传参是buffsize(缓冲区大小),一般设置为1024即可print(f'接收到发送来的数据:{data}')# 6、通过conn(客户端当次连接对象),调用send()可以回复消息reply = input('输入要和客户端回复的消息:')if reply == 'exit':breakconn.send(reply.encode('UTF-8'))
# 可以通过while True无线循环来持续和客户端进行数据交互
# 可以通过判定客户端发来的特殊标记,如exit,来退出无线循环

7、conn(客户端当次连接对象)和socket_server对象调用close()关闭连接

示例:

# socket服务端开发
import socket# 1、创建socket对象
socket_server = socket.socket()# 2、绑定socket_server到指定IP和地址
socket_server.bind(('localhost', 8888))# 3、服务端开始监听端口
socket_server.listen(1)# 4、接收客户端连接,获得连接对象
conn, address = socket_server.accept()
print(f'接收到客户端连接,连接来自:{address}')# 5、客户端连接后,通过recv方法,接收客户端发送的消息
while True:data = conn.recv(1024).decode('UTF-8')# recv()的返回值是字节数组(Bytes),可以通过decode使用UTF-8解码为字符串# recv()的传参是buffsize(缓冲区大小),一般设置为1024即可print(f'接收到发送来的数据:{data}')# 6、通过conn(客户端当次连接对象),调用send()可以回复消息reply = input('输入要和客户端回复的消息:')if reply == 'exit':breakconn.send(reply.encode('UTF-8'))# 7、关闭连接
conn.close()
socket_server.close()

Socket客户端编程

主要分为如下几个步骤:

1、创建socket对象

import socket
socket_server = socket.socket()

2、连接到服务端

socket_client.connect((host, port))

3、发送消息

while True:send_msg = input('输入要发送的消息:')if send_msg == 'exit':# 通过特殊标记来确保可以退出无线循环breaksocket_client.send(send_msg.encode('UTF-8'))	# 消息需要编码为字节数组(UTF-8编码)# 4、接收返回消息recv_data = socket_client.recv(1024).decode('UTF-8')	# 接收到的消息需要通过UTF-8解码为字符串# 1024是缓冲区大小,一般1024即可# recv()是阻塞式的,即不接收到返回,就卡在这里等待print(f'服务端回复消息为:{recv_data}')	

4、关闭连接

socket_client.close()

示例:

# socket客户端开发
import socket# 1、创建socket对象
socket_client = socket.socket()# 2、连接到服务端
socket_client.connect(('localhost', 8888))# 3、发送消息
while True:send_msg = input('输入要发送的消息:')if send_msg == 'exit':# 通过特殊标记来确保可以退出无线循环breaksocket_client.send(send_msg.encode('UTF-8'))  # 消息需要编码为字节数组(UTF-8编码)# 4、接收返回消息recv_data = socket_client.recv(1024).decode('UTF-8')    # 接收到的消息需要通过UTF-8解码为字符串# 1024是缓冲区大小,一般1024即可# recv()是阻塞式的,即不接收到返回,就卡在这里等待print(f'服务端回复消息为:{recv_data}')# 4、关闭连接
socket_client.close()

运行结果

先运行服务端,再运行客户端。此处启动两个cmd窗口进行演示。

在这里插入图片描述

http://www.yayakq.cn/news/801878/

相关文章:

  • 济南网站自然优化wordpress修改文件
  • 网站建设美化中期报告门户网站建设计划
  • 网络公司网站案例网站备案 法规
  • 江苏建设科技网站十大品牌网买购网
  • 网站运营 开发织梦网站所有图片不显示
  • 微山县建设局官方网站制作荧光字网站
  • 阿里云网站建设认证答案海南省
  • 如何建网站赚取佣金宠物网站开发与实现结论
  • 东兰县建设局网站xml网站地图怎么做
  • 网络工程师和网站开发员正规的网页制作
  • 河南零距离文化传播 网站建设小程序商城哪家好排行榜
  • 大连自助建站wordpress开启侧边栏
  • 江西九江怎么样网站优化的基本思想
  • 网站建设服务费一年多少钱建设一个网站的规划
  • 网站建设公众号开发美图秀秀在线制作网页版
  • 网站国外推广互联网登录的网站名
  • 天津市做网站兰州市网站建设公司
  • 花茶网站设计昆明做网站建设找谁
  • asp网站建设专家阿里云怎么注册域名
  • 网站建议公司建设网站的网站叫什么男
  • 成都有没有做网站建设的seo优化信
  • 电商网站设计费用如何用ps做网站设计图
  • 台州网站制作系统分析怎么写关键词优化一年多少钱
  • 手机怎么注册自己的网站购物网站设计需要哪些模块
  • 做一个美食网站怎么做浏览有关小城镇建设的网站6
  • 网站设计风格有哪几种网站建设业务员在哪里接单
  • 淘客网站添加到桌面Wordpress企业主题XShuan
  • 安徽省外经建设集团有限公司网站wordpress卡在首页
  • 制作一个网站平台要多钱python基础教程期末考试
  • 百度网站如何做网站设计的时间计划