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

怎样学做企业网站广告设计公司的目标客户

怎样学做企业网站,广告设计公司的目标客户,手机电影网站建设,北京海淀的公司recv原理、高阶版黏包解决方案、基于UDP的socket通信 recv原理 源码解释#xff1a; Receive up to buffersize bytes from the socket. 接收来自socket缓冲区的字节数据#xff0c; For the optional flags argument, see the Unix manual. 对于这些设置的参数#xff0c;可… recv原理、高阶版黏包解决方案、基于UDP的socket通信 recv原理 源码解释 Receive up to buffersize bytes from the socket. 接收来自socket缓冲区的字节数据 For the optional flags argument, see the Unix manual. 对于这些设置的参数可以查看Unix手册。 When no data is available, block untilat least one byte is available or until the remote end is closed. 当缓冲区没有数据可取时recv会一直处于阻塞状态直到缓冲区至少有一个字节数据可取或者远程端关闭。 When the remote end is closed and all data is read, return the empty string. 关闭远程端并读取所有数据后返回空字符串。 # 1验证服务端缓冲区数据没有取完又执行了recv执行recv会继续取值。 import socket phone socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.connect((127.0.0.1,8080)) phone.send(hello.encode(utf-8)) phone.close()# 2验证服务端缓冲区取完了又执行了recv执行此时客户端20秒内不关闭的前提下recv处于阻塞状态。 import socket import time phone socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.connect((127.0.0.1,8080)) phone.send(hello.encode(utf-8)) time.sleep(20)phone.close()# 3验证服务端缓冲区取完了又执行了recv执行此时客户端处于关闭状态则recv会取到空字符串。 import socket import time phone socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.connect((127.0.0.1,8080)) phone.send(hello.encode(utf-8)) phone.close() # 1验证服务端缓冲区数据没有取完又执行了recv执行recv会继续取值。import socketphone socket.socket(socket.AF_INET,socket.SOCK_STREAM)phone.bind((127.0.0.1,8080))phone.listen(5)conn, client_addr phone.accept() from_client_data1 conn.recv(2) print(from_client_data1) from_client_data2 conn.recv(2) print(from_client_data2) from_client_data3 conn.recv(1) print(from_client_data3) conn.close() phone.close()# 2验证服务端缓冲区取完了又执行了recv执行此时客户端20秒内不关闭的前提下recv处于阻塞状态。import socketphone socket.socket(socket.AF_INET,socket.SOCK_STREAM)phone.bind((127.0.0.1,8080))phone.listen(5)conn, client_addr phone.accept() from_client_data conn.recv(1024) print(from_client_data) print(111) conn.recv(1024) # 此时程序阻塞20秒左右因为缓冲区的数据取完了并且20秒内客户端没有关闭。 print(222)conn.close() phone.close()# 3 验证服务端缓冲区取完了又执行了recv执行此时客户端处于关闭状态则recv会取到空字符串。import socketphone socket.socket(socket.AF_INET,socket.SOCK_STREAM)phone.bind((127.0.0.1,8080))phone.listen(5)conn, client_addr phone.accept() from_client_data1 conn.recv(1024) print(from_client_data1) from_client_data2 conn.recv(1024) print(from_client_data2) from_client_data3 conn.recv(1024) print(from_client_data3) conn.close() phone.close()# recv空字符串: 对方客户端关闭了,且服务端的缓冲区没有数据了,我再recv取到空bytes. 高阶版黏包解决方案 服务端 import socket import subprocess import struct import jsonphone socket.socket() phone.bind((127.0.0.1,8897))phone.listen(3) print(等待接入) while 1:conn, addr phone.accept()print(conn, addr)try:while 1:from_client_data conn.recv(1024)if from_client_data.decode(utf-8).upper() Q:print(对方中断链接)breakobj subprocess.Popen(from_client_data.decode(utf-8),shellTrue,stdoutsubprocess.PIPE,stderrsubprocess.PIPE,)to_client_data obj.stdout.read() obj.stderr.read()total_size len(to_client_data)dic {filename:text1,MD5:120045318563413485631,total_size:total_size}head1 json.dumps(dic).encode(utf-8)len_head1 len(head1)head_bytes struct.pack(i,len_head1)conn.send(head_bytes)conn.send(head1)conn.send(to_client_data)except ConnectionError:print(对方中断网络链接)breakconn.close() phone.close() 客户端 import socket import struct import json phone socket.socket()phone.connect((127.0.0.1,8897)) while 1:to_server_data input(请输入内容)phone.send(to_server_data.encode(utf-8))if to_server_data.upper() Q:print(主动退出)breakif not to_server_data.strip():continuehead phone.recv(4)num struct.unpack(i,head)[0]dic_head phone.recv(num).decode(utf-8)dic json.loads(dic_head)s bwhile len(s) dic[total_size]:from_server_data phone.recv(1024)s from_server_dataprint(s.decode(gbk)) phone.close() 基于UDP的socket通信 服务端 import socket udp_sk socket.socket(typesocket.SOCK_DGRAM) #创建一个服务器的套接字 udp_sk.bind((127.0.0.1,9000)) #绑定服务器套接字 msg,addr udp_sk.recvfrom(1024) print(msg) udp_sk.sendto(bhi,addr) # 对话(接收与发送) udp_sk.close() # 关闭服务器套接字 客户端 import socket ip_port(127.0.0.1,9000) udp_sksocket.socket(typesocket.SOCK_DGRAM) udp_sk.sendto(bhello,ip_port) back_msg,addrudp_sk.recvfrom(1024) print(back_msg.decode(utf-8),addr) 转载于:https://www.cnblogs.com/lifangzheng/p/11366039.html
http://www.zqtcl.cn/news/560914/

相关文章:

  • 各学院二级网站建设通报wordpress注册评论
  • 南通公司做网站无人在线完整免费高清观看
  • 廊坊网站推广局域网网站建设的步骤过程
  • 如何在工信部网站注册简易网页设计代码
  • 做石油系统的公司网站做艺术品展览的网站
  • 枣庄公司网站建设珠海蓝迪装饰设计工程有限公司
  • 广州企业网站营销电话成都网站建设制作设计
  • 求个网站带图片素材域名及密码登录域名管理网站
  • 文交所网站开发wordpress页面编辑插件
  • 丹徒网站建设价格做矿产公司的网站
  • 北京的制作网站的公司在哪里软件程序员
  • 企业网站怎么扣费的网站建设合同的性质
  • 聚美优品一个专注于做特价的网站如何制作个人网页兼职
  • 滨州做网站的公司最好wordpress主题
  • 福州网站设计软件公司dw网站开发流程
  • 合肥网站搭建公司哪家好深圳二维码网站建设
  • 东莞微信网站开发免费html模板素材网站
  • 海淀专业企业网站建设青岛平面设计公司
  • 北京正规网站建设比较wordpress cookies因预料之外的输出被阻止
  • 自助微信网站设计什么叫一级域名二级域名
  • 上海 顶尖 网站设计wordpress多站点不同主题
  • asp c 网站开发wordpress 动静分离
  • 服装网站建设规定wordpress禁止自动升级
  • 如何在网站上做社交的链接毕设给学校做网站
  • 网页设计与网站建设指标点您身边的网站建设顾问
  • 个人网站的制作广州网站优化招聘
  • 做网站产生的流量费怎么算软件开发前景和收入
  • 网站空间 .de单页型网站
  • 网站建设com品牌建设的作用
  • 优质作文网站柳州做网站去哪家公司好