linux UDP,TCP相关特性

好长时间没使用网络编程忘得差不多了,写了TCP,UDP测试代码,得出以下结论:

 

一:UDP特性

1. UDP sendto函数不管对端是否存在(即使对端原本存在,现在已经关闭了),都义无反顾的发送出去

2. UDP recvfrom函数只会接受实时数据,比如不会接收尚未调用recvfrom函数之前对端发送过来的数据

3. UDP  sendto, recvfrom函数返回值不会轻易是0;除非sendto的长度为0

4. UDP 任意对端关闭掉,则对方都不能轻易察觉到

 

二:TCP特性

1. tcp recv函数返回0,一般说明对端已经关闭了(特殊情况对端发送0直接除外)

2. tcp send函数不会轻易返回0(除非send长度为0)

3 tcp 任意对端关闭,可以根据recv返回0来判断

时间: 2024-11-03 20:59:04

linux UDP,TCP相关特性的相关文章

【Windows socket+IP+UDP+TCP】网络基础

Windows Socket+网络 Winsock是 Windows下套接字标准.          Winsock 编程分为UDP[Windows socket + UDP],TCP[Windows socket + TCP]编程.Windows socket 建立在网络基础之上,UDP编程採用用户数据报协议(User Datagram Protocol ,UDP),TCP编程採用传输控制协议(Transmission Control Protocol,TCP).UDP.TCP不同的特性.适应

【Windows socket+IP+UDP+TCP】

Windows Socket+网络 Winsock是 Windows下套接字标准.          Winsock 编程分为UDP[Windows socket + UDP],TCP[Windows socket + TCP]编程.Windows socket 建立在网络基础之上,UDP编程采用用户数据报协议(User Datagram Protocol ,UDP),TCP编程采用传输控制协议(Transmission Control Protocol,TCP).UDP,TCP不同的特性,适应

linux网络配置相关文件

网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口是 pppX,比如ppp0等: 机器中所有可用网卡及名字: 参考:linux网络配置相关命令.虚拟网络接口eth0:0 网关GateWay配置地址: /etc/sysconfig/network  GATEWAY=192.168.1.250 /etc/sysconfig/network-script

Linux中TCP wrapper的使用

Linux中TCP wrapper的使用 tcpwrapper的目的是对那些访问控制功能较弱的服务提供访问控制功能要想了解访问控制就必须先知道服务监听的概念: 服务监听的两种方式: listen     :        socket                  监听在套接字上提供服务                    循环                   不停歇的查看某个端口来提供服务 有两种方式来判断一个服务是否支持tcp wrapper: 1.通过查找库文件看是否有libwr

Linux之bash的特性

bash的特性(1)常用组合快捷键:,ctrl+d Ctrl+a: 跳转至命令行首 Ctrl+e: 跳转至命令行尾 Ctrl+u: 删除命令行首至当前光标所在处之前的所有内容 Ctrl+k: 删除当前光标所在处至命令行尾的所有内容 Ctrl+l: 清屏 Ctrl+c: 中止或取消 Ctrl+z: 把当命令送至后台 Ctrl+d:回到登陆用户登陆界面 (2)命令补全:命令的补齐,参数中目录或文件的补齐 当输入命令的部分是唯一的时候按TAB键就可以不全剩下的部分 当输入命令的部分不是唯一的,按两次T

用qemu与gdb调试linux kernel tcp/ip协议栈

description 用gdb debug linux kernel容易吗?其实要走到这步真的不容易啊,其实也难道是不难,就是要知道的东西太多了.用gdb debug linux kernel 可以有2中方式:UML和qemu方式,这里主要说qemu,从源码编译安装qemu很费劲. 准备环境 linux OS: Debian7.5-i386(当时最新的Wheezy,装在VMware10上,我用的在线安装,安装后以text方式跑起来,我的笔记本配置资源有限!) root fs:Debian-Wh

Linux下TCP网络编程与基于Windows下C#socket编程间通信

一.linux下TCP网络编程基础,需要了解相关函数 Socket():用于套接字初始化. Bind():将 socket 与本机上的一个端口绑定,就可以在该端口监听服务请求. Listen():使socket处于被动的监听模式,并为该  socket  建立一个输入数据队列,将到达的服务器, 请求保存在此队列中,直到程序处理他们. Accept():让服务器接收客户的连接请求. Connect():客户端使用connect函数来配置 socket并与远端服务器建立一个 TCP 连接. Clos

Linux下TCP网络编程与基于Windows下C#socket编程之间通信

一.linux下TCP网络编程基础,需要了解相关函数 Socket():用于套接字初始化. Bind():将 socket 与本机上的一个端口绑定,就可以在该端口监听服务请求. Listen():使socket处于被动的监听模式,并为该  socket  建立一个输入 数据队列,将到达的服务器, 请求保存在此队列中,直到程序处理他们. Accept():让服务器接收客户的连接请求. Connect():客户端使用connect函数来配置 socket并与远端服务器建立一个 TCP 连接. Clo

Linux命令——监视相关

1.netstat 用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等. 常见参数: -a (all)显示所有选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字. -l 仅列出有在 Listen (监听) 的服務状态 -p 显示建立相关链接的程序名 -