TCP是重要的传输层协议,是一种有连接的、可靠的传输。传输数据前要先建立连接,如果传输错误或者数据丢失,就会重传。因此使用TCP,开销大,速度慢。
UDP也是传输层协议,它是无连接的、不可靠的传输服务。不必要在数据传输之前建立会话,但可能造成数据的丢失。系统只保证尽力发送。优点是传输速度快、开销小。视频点播使用的就是UDP。
下面是我实现的TCP客户端与服务器的搭建:
服务器:
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdlib.h>
#define PORT 9999 //端口号
//服务器的搭建
int main()
{
//创建一个套接字
int listen_socket = socket(AF_INET,SOCK_STREAM, 0);
if (listen_socket == -1)
{
perror("socket");
return -1;
}
//命名套接字,绑定本地的ip地址和端口
struct sockaddr_in addr;
memset(&addr,0,sizeof(addr)); //清空
addr.