首先我们需要了解一下UDP和TCP的区别
TCP面向连接数据的传输方式有三个特点:
A、传输的过程数据不会丢失
B、按顺序传输
C、传输的过程中不存在数据边界
TCP协议是面向连接的套接字:可靠的、按序传递的、基于字节的面向连接的数据传输方式的套接字。
UDP数据的传输方式有四个特点:
A、强调快速传输而非传输顺序
B、传输的数据可能丢失也可能损毁
C、传输的过程中不存在数据边界
D、限制每次传输的数据大小
UDP协议是面向消息的套接字:不可靠的、不按序传递的、以数据的高速传输位目的的套接字。
UDP回声服务器服务端的代码实现:
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <stdlib.h>
//相对于TCP来说 UDP的服务器实现缺少了确认步骤
void handle_error(const char* msg)
{
fputs(msg, stderr);
fputc('\n', stderr);
exit(1);
}
int UDP_sever(int argc,char* argv[])
{
int ser_sock = -1;
char message[512] = "";
struct sockaddr_in servaddr,clientaddr;
if(argc!=2)