排序
网络数据传输时的大小端问题 什么是大端序和小端序
socket编程实现文件传输功能详细教程
socket 文件传输程序,这是一个非常实用的例子。要实现的功能为:client 从 server 下载一个文件并保存到本地。 编写这个程序需要注意两个问题: 1) 文件大小不确定,有可能比缓冲区大很多,调...
shutdown()函数:优雅地断开TCP连接
图解TCP四次握手断开连接过程详解
非常详细图解TCP数据报结构以及三次握手
TCP协议的粘包问题(数据的无边界性)
socket缓冲区和数据的传递过程,可以看到数据的接收和发送是无关的,read()/recv() 函数不管数据发送了多少次,都会尽可能多的接收数据。也就是说,read()/recv() 和 write()/send() 的执行次数...
socket缓冲区以及阻塞模式详解
使用socket编程实现回声客户端
所谓“回声”,是指客户端向服务器发送一条数据,服务器再将数据原样返回给客户端,就像声音一样,遇到障碍物会被“反弹回来”。 对!客户端也可以使用 write() / send() 函数向服务器发送数据...
send()/recv()和write()/read():发送数据和接收数据
Linux下数据的接收和发送 Linux 不区分套接字文件和普通文件,使用 write() 可以向套接字中写入数据,使用 read() 可以从套接字中读取数据。 前面我们说过,两台计算机之间的通信相当于两个套接...
listen()和accept()函数:让套接字进入监听状态并响应客户端请求
对于服务器端程序,使用 bind() 绑定套接字后,还需要使用 listen() 函数让套接字进入被动监听状态,再调用 accept() 函数,就可以随时响应客户端的请求了。 listen() 函数 通过 listen() 函数...