tcp udp测试
tcp udp测试
sub_udp.py #!/usr/bin/env python
# -*- coding: utf-8 -*- # 可以正常接收udp
import socket
import datetime
#创建socket对象
#SOCK_DGRAM udp模式
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) s.bind(('', 10000))
while True:
# data = s.recv(10240)
data = s.recv(102400)
print("开始收到下面一条udp" + ' 当前时间: ' + str(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
print(data.decode()) -------------------------------------------------------------------------------------------------------------------- pub_udp.py #!/usr/bin/env python
# -*- coding: utf-8 -*- # 可以正常发送udp
# 可以正常发送udp
#不需要建立连接
import socket
import time
#创建socket对象
#SOCK_DGRAM udp模式
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#发送数据 字节
str1 = {"name":"mark", "age":18, "content":"meeting"}
while True:
s.sendto(str(str1).encode(), ('127.0.0.1', 10000))
time.sleep(1) --------------------------------------------------------------------------------------------------------------------
sub_tcp.py #!/usr/bin/env python
# -*- coding: utf-8 -*- # 可以正常跑通 import socket
import time MaxBytes = 1024 * 1024 server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.settimeout(60)
host = '127.0.0.1'
# host = socket.gethostname()
port = 11223
server.bind((host, port)) # 绑定端口 server.listen(1) # 监听
try:
client, addr = server.accept() # 等待客户端连接
print(addr, " 连接上了")
while True:
data = client.recv(MaxBytes)
if not data:
print('数据为空,我要退出了')
break
localTime = time.asctime(time.localtime(time.time()))
print(localTime, ' 接收到数据字节数:', len(data))
print(data.decode())
client.send(data)
except BaseException as e:
print("出现异常:")
print(repr(e))
finally:
server.close() # 关闭连接
print("我已经退出了,后会无期") -------------------------------------------------------------------------------------------------------------------- pub_tcp.py #!/usr/bin/env python
# -*- coding: utf-8 -*- # 可以正常跑通 import socket
import time
MaxBytes=1024*1024
host ='127.0.0.1'
port = 11223
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
client.settimeout(30)
client.connect((host,port))
while True:
inputData = "hello world!"; #等待输入数据
sendBytes = client.send(inputData.encode())
if sendBytes<=0:
break;
recvData = client.recv(MaxBytes)
if not recvData:
print('接收数据为空,我要退出了')
break
localTime = time.asctime( time.localtime(time.time()))
print(localTime, ' 接收到数据字节数:',len(recvData))
print(recvData.decode())
client.close()
print("我已经退出了,后会无期")
tcp udp测试的更多相关文章
- centos安装netcat TCP UDP测试工具 简称 nc,安全界叫它瑞士军刀
centos安装netcat 今天安装swoole后,测试UDP服务需要用到netcat,然而百度了很多安装方法,并没有一个好用的.几经尝试,终于安装成功,现在就分享给大家,以供参考. 配置环境:ce ...
- TCP&UDP测试工具使用方式方法
第一项:测试TCP 步骤1:首先需要一台电脑上建立一个TCP服务器.并设置一个端口号如下图60003即可.并开启服务 步骤2:在另外一台电脑上,创建一个客户端连接,如下图.输入服务器的IP地址和端口号 ...
- Sokit(TCP/UDP调试工具)
下载:http://www.winwin7.com/soft/56522.html#xiazai Sokit中文版是一款免费开源的TCP / UDP 测试(调试)工具,它主要可以用于接收和发送TCP/ ...
- iperf测试流量转发(nginx反向代理tcp/udp)
一.准备工作 服务器1:192.168.33.102 搭建nginx服务,作为反向代理的中转站 服务器2:192.168.33.103 nginx要反向代理的服务器 服务器3:192.1 ...
- go简易tcp/udp连接测试工具
package main import ( "fmt" "io" "log" "net" "os" ...
- TODO:Golang语言TCP/UDP协议重用地址端口
TODO:Golang语言TCP/UDP协议重用地址端口 这是一个简单的包来解决重用地址的问题. go net包(据我所知)不允许设置套接字选项. 这在尝试进行TCP NAT时尤其成问题,其需要在同一 ...
- TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端
目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP部分的使用 框架源码结构 补充说明 源码地址 说明 之前有好几篇博客在讲TCP/UDP通信方 ...
- tcp/udp高并发和高吐吞性能测试工具
在编写一个网络服务的时候都比较关心这个服务能达到多少并发连接,而在这连接的基础上又能达到一个怎样的交互能力.编写服务已经是一件很花力气的事情,而还要去编写一个能够体现结果的测试工具就更加消耗工作时间. ...
- TCP UDP 协议的区别和联系
TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接.一个TCP连接必须要经过三次“对话”才能建立起 ...
- 获取Windows下某进程监听的TCP/UDP端口
1.在Windows下用CMD netstat命令可以获得当前进程监听端口号的信息,如netstat -ano可以看到IP.port.状态和监听的PID. 那么可以执行CMD这个进程得到监听的端口号信 ...
随机推荐
- pidstat 命令查看nginx上下文切换
pidstat -w -p 711 1 [root@leilei ~]# ps -ef|grep nginx root 13974 1 0 14:23 ? 00:00:00 nginx: master ...
- k8s集群创建阿里云版本
阿里云创建k8s集群实例 创建两个8G内存的抢占实例(青岛),能ssh 默认关闭防火墙,且没有交换分区 配置/etc/hosts,主机名 配置k8s仓库 配置命令补全 安装docker(需要conta ...
- webpack配置css预处理
webpack默认只支持js的打包,不支持其它类型,为了让它支持样式的打包就需要加载一些loader 打包css文件 在webpack中配置对应的loader 在入口js文件中通过import导入样式 ...
- monaco-editor 实现SQL编辑器
原文链接:https://www.yuque.com/sxd_panda/antv/editor 安装 yarn add monaco-editor 或 npm install monaco-edit ...
- SELinux(一) 简介
首发公号:Rand_cs 前段时间的工作遇到了一些关于 SELinux 的问题,初次接触不熟悉此概念,导致当时配置策略时束手束脚,焦头烂额,为此去系统的学习了下 SELinux 的东西.聊 SELin ...
- 白话理解和使用DOCKER VOLUME
Docker使用Volume来管理宿主机和容器内数据的映射 什么是数据卷(Volume)Docker镜像被存储在一系列的只读层中.当我们创建一个容器时,Docker会读取镜像(只读),并在其顶部添加 ...
- 将静态文件打包进nuget里 Net Core
我之前写了一个.net core 生成验证码的小工具 需要使用者先单独下载字体文件到本地在 install-package 感觉这样很捞也很不方便,但当时忙着做其他需求现在更新下. 其实很简单 vis ...
- Android程序获取鸿蒙手机设备信息(是否鸿蒙手机、版本号、小版本号等)
1.效果图 鸿蒙手机 --> 关于手机的截图: Android程序获取鸿蒙手机设备信息的截图: 2.实现 本案例DEMO的实现主要借鉴了网上现有的资料: https://blog.csdn.ne ...
- Android 自定义带动画的柱状图
功能分析 假设要使用柱状图展示用户一周的数据,通用的做法是对接三方图表SDK或者自己通过代码绘制. 1.三方SDK通常包体较大,且定制性差,对特定的UI需求兼容性差; 2.自己绘制,比较复杂,而且要考 ...
- arm linux 移植 i2c-tools 与 简单使用
介绍 i2c-tool是一个专门调试i2c的开源工具.可获取挂载的设备及设备地址,还可以在对应的设备指定寄存器设置值或者获取值等功能,对于驱动以及应用开发者比较友好. i2c-tool:v3.0.3 ...