udp协议是面向数据报的,无连接不可靠的传输层协议,因为udp无连接,因此实现udp socket不需要监听也不需要连接。在实现tcp socket时,其中的收发数据可以当做文件,通过read和write来读取(TCP是面向字节流的),而udp是面向数据报的协议,收发的单位都是数据报,需要采用专门的函数:
编写代码:
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<string.h>
void usage(const char*proc)
{
printf("Usage:%s,[udp_ip],[udp_port]\n",proc);
}
int main(int argc,char* argv[])
{
if(argc != 3)
{
usage(argv[0]);
return 1;
}
int sock = socket(AF_INET,SOCK_DGRAM,0);
if(sock<0)
{
perror("socket");
return 2;
}
struct sockaddr_in server_a