伺服器:
1、建立套接字
sock=socket(af_inet,sock_dgram,0)
2、繫結
0.0.0.0:8080 讓作業系統自由分配乙個有效的ip
3、收資料
ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,struct sockaddr *src_addr, socklen_t *addrlen);
4、發資料
ssize_t sendto(int sockfd, const
void *buf, size_t len, int flags,const
struct sockaddr *dest_addr, socklen_t addrlen);
**:
#include
#include
#include
#include
#include
#include
static
void use(char* proc)
int main(int argc,char* argv)
//建立套接字
int sock = socket(af_inet,sock_dgram,0);
if(sock<0)
struct sockaddr_in local;
local.sin_family = af_inet;
local.sin_port =htons(atoi(argv[2]));
local.sin_addr.s_addr = inet_addr(argv[1]);
socklen_t len = sizeof(local);
//繫結
if(bind(sock,(struct sockaddr*)&local,len)<0)
char buf[1024];
struct sockaddr_in client;
socklen_t _len=sizeof(client);
while(1)
else
//發資料
ssize_t _s = sendto(sock,buf,strlen(buf),0,(struct sockaddr*)&client,len);
if(_s<0)
}close(sock);
return
0;}
客戶端:
1、建立套接字
sock=socket(af_inet,sock_dgram,0)
2、發資料
ssize_t sendto(int sockfd, const
void *buf, size_t len, int flags,const
struct sockaddr *dest_addr, socklen_t addrlen);
3、收資料
ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,struct sockaddr *src_addr, socklen_t *addrlen);
**:
#include
#include
#include
#include
#include
#include
#include
static
void use(char* proc)
int main(int argc,char* argv)
//建立套接字
int sock =socket(af_inet,sock_dgram,0) ;
struct sockaddr_in peer;
peer.sin_family = af_inet;
peer.sin_port = htons(atoi(argv[2]));
peer.sin_addr.s_addr = inet_addr(argv[1]);
char buf[1024];
while(1)
}//收資料
基於UDP的伺服器端和客戶端
前面的文章中我們給出了幾個tcp的例子,對於udp而言,只要能理解前面的內容,實現並非難事。udp不像tcp,無需在連線狀態下交換資料,因此基於udp的伺服器端和客戶端也無需經過連線過程。也就是說,不必呼叫 listen 和 accept 函式。udp中只有建立套接字的過程和資料交換的過程。tcp中...
基於UDP的伺服器端和客戶端
前面的文章中我們給出了幾個 tcp 的例子,對於 udp 而言,只要能理解前面的內容,實現並非難事。udp 不像 tcp,無需在連線狀態下交換資料,因此基於 udp 的伺服器端和客戶端也無需經過連線過程。也就是說,不必呼叫 listen 和 accept 函式。udp 中只有建立套接字的過程和資料交...
基於UDP的伺服器端和客戶端
前面我們想過了tcp方式的,現在我們說下udp套接字的方式,內容較少,但是很實用。下面通過信件說明udp的工作原理,這是講解udp時使用的傳統示例,它與udp特性完全相符。寄信前應先在信封上填好寄信人和收信人的位址,之後貼上郵票放進郵筒即可。當然,信件的特點使我們無法確認對方是否收到。另外,郵寄過程...