性能测试学习

TCP和UDP网络编程

2019-05-07  本文已影响0人  Cassie测试路

IP

TCP

许多常用的更高级的协议都是建立在TCP协议基础上的,比如用于浏览器的HTTP协议、发送邮件的SMTP协议等。

一个TCP报文除了包含要传输的数据外,还包含源IP地址和目标IP地址,源端口和目标端口。

端口有什么作用?在两台计算机通信时,只发IP地址是不够的,因为同一台计算机上跑着多个网络程序。一个TCP报文来了之后,到底是交给浏览器还是QQ,就需要端口号来区分。每个网络程序都向操作系统申请唯一的端口号,这样,两个进程在两台计算机之间建立网络连接就需要各自的IP地址和各自的端口号。

作为服务器,提供什么样的服务,端口号就必须固定下来。由于我们想要访问网页,因此新浪提供网页服务的服务器必须把端口号固定在80端口,因为80端口是Web服务的标准端口。其他服务都有对应的标准端口号,例如SMTP服务是25端口,FTP服务是21端口,等等。端口号小于1024的是Internet标准服务的端口,端口号大于1024的,可以任意使用

UDP 客户/服务器Socket程序

TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据。相对TCP,UDP则是面向无连接的协议。使用UDP协议时,不需要建立socket连接,只需要知道对方的IP地址和端口号,就可以直接发数据包。但是,能不能到达就不知道了。

UDP 编程模型
查看某接口的数据库执行过程
sudo docker top platform_account     # 找到目标PID
sudo strace -Ttt -o /tmp/test.log -p 31994 -f -s 1024      # 打印进程的堆栈执行信息
more /tmp/test.log |grep basic_auth          # 读取堆栈信息,找到DB执行语句
DB执行
上一篇 下一篇

猜你喜欢

热点阅读