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

ppp项目建设交易网站二维码制作小程序免费

ppp项目建设交易网站,二维码制作小程序免费,网站推广方案策划书2000,人力资源公司怎么开最近一直在学习网络编程,今天把 socket部分做一个总结。 Python 的socket库可以实现不同协议不同地址的发包和收包,无奈资料很少,官方例子有限,大神博客很少提及, 经过一番尝试后,总结以下几点用法以便大家…

最近一直在学习网络编程,今天把 socket部分做一个总结。

Python 的socket库可以实现不同协议不同地址的发包和收包,无奈资料很少,官方例子有限,大神博客很少提及, 经过一番尝试后,总结以下几点用法以便大家以后使用。

client端
import socket
import time
import random
import string# 定义一些常量,变量名可以变。自己好记就行
buffer = 1024  # 发送缓冲区大小,这里是1KB
data_size = 128  # 每个UDP数据包的大小
bandwidth = 1  # 目标带宽,1 Mbps
PACKETS_PER_SECOND = bandwidth * 1024 * 1024 / (8 * data_size)  # 计算每秒需要发送的数据包数量# 目标服务器的IP和端口
SERVER_IP = '127.0.0.1'  # 请替换为实际服务器IP
SERVER_PORT = 1245 # 请替换为实际端口def generate_random_data(size):"""生成随机数据,生成往UDP包中放的随机值"""return ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(size)).encode()def udp_main():# 创建UDP套接字client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)print(f"Starting UDP bandwidth test to {SERVER_IP}:{SERVER_PORT} aiming for {bandwidth} Mbps...")start_time = time.time()packets_sent = 0try:while True:# 生成随机数据data = generate_random_data(data_size)# 发送数据包client_socket.sendto(data, (SERVER_IP, SERVER_PORT))#包计数packets_sent += 1# 控制发送速率以达到目标带宽elapsed_time = time.time() - start_timeif elapsed_time >= 1:#实际带宽,怎么算需要记一下actual_bandwidth = (packets_sent * data_size * 8) / (elapsed_time * 1024 * 1024)print(f"Actual bandwidth: {actual_bandwidth:.2f} Mbps")#重新计算包packets_sent = 0start_time = time.time()time.sleep(1 / PACKETS_PER_SECOND)  # 等待,控制发送频率except KeyboardInterrupt:print("\nBandwidth test interrupted by user.")finally:client_socket.close()def tcp_main():client_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)client_socket.connect((SERVER_IP, SERVER_PORT))start_time = time.time()packets_sent = 0try:while True:data = generate_random_data(data_size)client_socket.send(data)packets_sent += 1elapsed_time = time.time() - start_timeif elapsed_time >= 1:client_socket.send("q".encode())packets_sent = 0start_time = time.time()acutalwidth = (packets_sent * data_size * 8) / (elapsed_time * 1024 * 1024)print(f"Actual bandwidth: {acutalwidth:.2f} Mbps")time.sleep(1/PACKETS_PER_SECOND)except KeyboardInterrupt:print("\nBandwidth test interrupted by user.")finally:client_socket.close()if __name__ == "__main__":tcp_main(

server端

import socketdef Server_Socket():serverip = "0.0.0.0"serverport = 8080#1、2 创建UDP的socketserver_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)server_socket.bind((serverip,serverport))print(f"udp server {serverip}:{serverport}")try:while True:#3、接收客户端发来的值data,addr = server_socket.recvfrom(1024)print(f"recv from {addr}:{data.decode('utf-8')}") #print的内容不用背except KeyboardInterrupt:print("^C received, shutting down the server") #无所谓不用背具体详情finally:server_socket.close()def TCP_socket():serverip = "127.0.0.1"serverport = 1245server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)server_socket.bind((serverip,serverport))print(f"start listening:")server_socket.listen(1024)print(f"tcp socket: {serverip}:{serverport}")try:dataconn,addr = server_socket.accept()print(f"client{dataconn}:{addr}")while True:data = dataconn.recv(1024)print(f"recv from {addr},recv data:{data.decode('utf-8')}")if data.decode('utf-8') == "q":breakdataconn.send("已送达".encode('utf-8'))except KeyboardInterrupt:print("^C received, shutting down the server")finally:server_socket.close()if __name__ == "__main__":TCP_socket()
http://www.yayakq.cn/news/45645/

相关文章:

  • 接单做网站的医疗网站前置审批
  • 网站片区设计灵感
  • 唐山做网站哪家公司好wordpress获取缩略图地址
  • 镇江市网站wordpress官方
  • 没有网站域名备案信息吗四川住房和城乡建设厅网站咨询电话
  • 做购物网站 需要手续免费的微网站哪个好
  • 设计网站p站动画制作平台
  • 西安市建设厅网站企业管理软件排行
  • 外贸网站中的搜索产品功能如何实现个人网站注销原因
  • 网站开发成本分析wordpress forget主题
  • 本地网站搭建视频教程网站文件验证
  • wordpress用户页网站的seo优化怎么做
  • 哈尔滨建站免费模板“青岛今晚12时封城”
  • 电脑端网站一般做多宽最好网站动画效果怎么做的
  • 路由器怎么做网站阿里云做网站怎么样
  • 山东企业网站备案51ppt模板免费下载完整版免费ppt
  • 东营做营销型网站建设怎么在百度上建网站
  • 模板建站多少钱自己网站wordpress主题怎么
  • 东莞网站建设员北京丰台网站建设
  • 博采网站建设查法人信息的网站
  • 铜川网站建设报价注册了一个域名怎么做网站
  • 企业综合型网站建设方案网站站内的seo怎么做
  • 电子商务网站设计毕业设计论文如何防止网站被攻击
  • 怎样做自己网站后台不被攻击深圳做网站推广公司
  • 哪家公司网站建设好点网络维护怎么做
  • 知乎做笔记的网站做app界面设计用什么软件
  • 株洲百度推广开户培训机构优化
  • 教育系统网站备案wordpress前台不显示图片
  • 做公益选哪个网站好山东省建设执业师之家官方网站
  • 做家政有什么网站做推广好移动论坛网站模板免费下载