TCP与UDP的相关知识
TCP的三次握手具体发生在哪个函数中
在Linux编程中,在进行TCP网络编程时,通常分为客户端和服务器端两个模块.
客户端:
- fd=socket(); //利用socket生成文件描述符fd;
- bind(); //利用bind进性端口绑定(这里也可以不进行绑定,不绑定则随机分配,由于客户端不需要特定的端口,所以一般不进行绑定)
- newfd=connect(); //利用connect函数向服务器发送请求,请求成功后会返回一个新的文件描述符
- send(newfd,buf,length,0);//利用newfd向服务器发送数据
- recv();接收服务器发来的数据
服务器
- fd=socket(); //利用socket生成文件描述符fd;
- bind(); //绑定服务器对外提供的端口
- listen();设置服务器监听的客户端的数量,主要是为了防止恶意请求对Linux内核性能的破坏,下面会具体说
- clientfd=accept();//接受客户端请求,返回客户端fd,以供服务器与客户端建立连接
- send();recv();//与客户端类似
三次握手