码迷,mamicode.com
首页 > 其他好文 > 详细

udp通信的原理---makefile文件

时间:2016-12-26 18:24:10      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:地址   soc   nbsp   绑定   server   sendto   源地址   const   客户端   

由于UDP通信不需要事先建立连接,因此不需要TCP中的connect函数。

服务器端的步骤如下:

1. socket:      建立一个socket

2. bind:          将这个socket绑定在某个端口上(AF_INET)

3. recvfrom:  如果没有客户端发起请求,则会阻塞在这个函数里

4. close:        通信完成后关闭socket

 

 

客户端的步骤如下:

1. socket:      建立一个socket

2. sendto:     相服务器的某个端口发起请求(AF_INET)

 

3. close:        通信完成后关闭socket

 

可以看到,和TCP相比,步骤少了一些。

 

这里我们用到了两个新的函数:

int recvfrom(int sockfd, void * buf, size_t len, int flags, struct sockaddr * src_addr, socklen_t * addrlen);

int sendto(int sockfd, const void * buf, size_t len, int flags, const struct sockaddr * dest_addr, socklen_t addrlen);

 

recvfrom用于接收数据,sendto用于发送数据

 

recvfrom:

socket:socket套接字

buf:接收到的数据的存放位置

flags:一般情况下为0

src_addr:接收的源地址

addrlen:地址长度

 

 

sendto:

socket:socket套接字

buf:要发送的数据的起始地址

flags:一般情况下为0

dest_addr:发送到的目的地址

addrlen:地址长度

 

还是先上代码:

Makefile:

 
  1. all: server.c client.c  
  2.     gcc -Wall client.c -o client  
  3.     gcc -Wall server.c -o server  
  4.   
  5. clean:  
  6.     rm -rf *.o client server  

udp通信的原理---makefile文件

标签:地址   soc   nbsp   绑定   server   sendto   源地址   const   客户端   

原文地址:http://www.cnblogs.com/dpf-learn/p/6223201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!