**如下:
udp_client.c
#include
#include
#include
#include
#include
#include
#include
static
void usage(char* proc)
int main(int argc,char* argv)
int sock=socket(af_inet,sock_dgram,0);//要注意這裡和tcp不同
struct sockaddr_in server_addr;
server_addr.sin_family=af_inet;
server_addr.sin_port=htons(atoi(argv[2]));
server_addr.sin_addr.s_addr=inet_addr(argv[1]);
char buff[1024];
while(1)
}close(sock);
return
0;}
udp_server.c
#include
#include
#include
#include
#include
#include
#include
static
void usage(char*proc)
int main(int argc,char* argv)
int sock=socket(af_inet,sock_dgram,0);
if(sock<0)
struct sockaddr_in server_addr;
server_addr.sin_family=af_inet;
server_addr.sin_port=htons(atoi(argv[2]));
server_addr.sin_addr.s_addr=inet_addr(argv[1]);
if(bind(sock,(struct sockaddr*)&server_addr,sizeof(server_addr))<0)
char buff[1024];
struct sockaddr_in client_addr;
socklen_t len=sizeof(server_addr);
while(1)
}close(sock);
return
0;}
udp和tcp的區別不是很大,如果理解了tcp那麼udp也就很容易理解了,關鍵是要用好sendto和recvfrom兩個函式,其他的應該是問題不大。
下面我把這兩個函式拿出來大家看一下:
下面是測試udp伺服器和客戶端:
linux網路程式設計之Socket
一.socket socket可看作是使用者程序與核心網路協議的程式設計介面.socket可用於本機程序間的通訊,也可用於網路上不同主機間的程序通訊.下圖顯示的是各種網路協議的位址格式 1.struct socketaddr 通用位址結構 通過獲取某種socketaddr結構體的首位址,不需要知道具...
Linux下socket程式設計之多程序TCP伺服器端
如下 tcp server.c include include include include include include include static void usage char proc ssize t startup char ip,char port struct sockaddr ...
linux下socket程式設計
一 什麼是socket socket可以看成是使用者程序與核心網路協議棧的程式設計介面。socket不僅可以用於本機的程序間通訊,還可以用於網路上不同主機的程序間通訊。socket api是一層抽象的網路程式設計介面,適用於各種底層網路協議,如ipv4 ipv6。struct sockaddr in...