
网络编程
文章平均质量分 61
KomaCC
不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
展开
-
解析socket编程的相关函数
1.什么是套接字一个完整的网络通信需要一个五元组来标识:协议、本地地址、本地端口号、远端地址、远端端口号。TCP用主机的IP地址加上主机上的端口号作为TCP连接的端点,这种端点就叫做套接字 流式套接字(SOCK_STREAM):TCP(The Transmission Control Protocol)协议。流式套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实...原创 2018-08-31 09:49:51 · 320 阅读 · 0 评论 -
如何编写TCP服务器
客户端逻辑(不要绑定端口号)1.用户输入数据,从标准输入输入一个字符串2.把这个字符串发送给服务器3.从服务器读取并返回结果4.把响应写到标准输出上 服务器逻辑(绑定端口号)1.启动(初始化)2.进入死循环(事件循环) a)从socket中读取请求(Request) b)根据Request的内容计算生成Response c)把Respo...原创 2018-08-31 09:39:44 · 750 阅读 · 0 评论 -
如何编写UDP服务器
客户端逻辑(不需要绑定端口号)1.用户输入数据,从标准输入输入一个字符串2.把这个字符串发送给服务器3.从服务器读取并返回结果4.把响应写到标准输出上 服务器逻辑(绑定端口号)1.启动(初始化)2.进入死循环(事件循环) a)从socket中读取请求(Request) b)根据Request的内容计算生成Response c)把R...原创 2018-08-31 09:31:21 · 659 阅读 · 0 评论 -
模拟实现Ping
PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMPecho (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。 作为一个生活在网络上的管理...原创 2018-08-31 09:07:22 · 1357 阅读 · 0 评论 -
TCP如何保证可靠性传输
校验和 在数据传输的过程中,将发送的数据段都当做一个16位的整数。将这些整数加起来。并且前面的进位不能丢弃,补在后面继续相加,最后取反,得到校验和。 发送方:在发送数据之前计算检验和,并进行校验和的填充。 接收方:收到数据后,对数据以同样的方式进行计算,求出校验和,与发送方的进行比对。 注意:如果接收方比对校验和与发送方不一致,那么数据一定传输有误。但是如果...原创 2018-09-06 21:23:22 · 968 阅读 · 0 评论 -
TCP的三次握手/四次挥手 详解
三次握手的过程:TCP 连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。 1. 客户端向服务器发送一个SYN置位的TCP报文,其中包含连接的初始序列号x和一个窗口大小(表示客户端上用来接收从服务器发送来的传入段的缓冲区的大小)。 2. Server收到数据包后由标志位SYN=1知道Client请求建立连接 ...原创 2018-09-06 21:28:57 · 346 阅读 · 0 评论