udpclient
/*udp/ip應用程式設計介面(api)*/
/**從標準輸入裝置中取得字串,將字串傳送給伺服器端,並接收伺服器端返回的字
*符串。最後關閉該socket。
*/#include#include#include#include#include#include#includeint getserveraddr(char * addrname)
int main(int argc,char **ar**)
/* 填寫sockaddr_in*/
addrlen=sizeof(struct sockaddr_in);
bzero(&cli_addr,addrlen);
cli_addr.sin_family=af_inet;
cli_addr.sin_addr.s_addr=inet_addr(seraddr);
//cli_addr.sin_addr.s_addr=htonl(inaddr_any);
cli_addr.sin_port=htons(server_port);
bzero(buffer,sizeof(buffer));
/* 從標準輸入裝置取得字串*/
len=read(stdin_fileno,buffer,sizeof(buffer));
/* 將字串傳送給server端*/
sendto(cli_sockfd,buffer,len,0,(struct sockaddr*)&cli_addr,addrlen);
/* 接收server端返回的字串*/
len=recvfrom(cli_sockfd,buffer,sizeof(buffer),0,(struct sockaddr*)&cli_addr,&addrlen);
//printf("receive from %s\n",inet_ntoa(cli_addr.sin_addr));
printf("receive: %s",buffer);
close(cli_sockfd);
}
udpserver
/*udp/ip應用程式設計介面(api)*/
/**伺服器的工作流程:首先呼叫socket函式建立乙個socket,然後呼叫bind函式將其與本機
*位址以及乙個本地埠號繫結,接收到乙個客戶端時,伺服器顯示該客戶端的ip位址,並將字串
*返回給客戶端。
*/#include#include#include#include#include#include#includeint main(int argc,char **ar**)
/*填寫sockaddr_in 結構*/
addrlen=sizeof(struct sockaddr_in);
bzero(&ser_addr,addrlen);
ser_addr.sin_family=af_inet;
ser_addr.sin_addr.s_addr=htonl(inaddr_any);
ser_addr.sin_port=htons(server_port);
/*繫結客戶端*/
if(bind(ser_sockfd,(struct sockaddr *)&ser_addr,addrlen)<0)
while(1)
}
BSDSocket程式設計之TCP
tcpclient 1 tcp ip應用程式設計介面 api 2 3 客戶端的工作流程 首先呼叫socket函式建立乙個socket,然後呼叫bind函式 4 將其與本機位址以及乙個本地埠號繫結,請求連線伺服器,通過新的socket 5 向客戶端傳送字串 hi,i am client 最後關閉該so...
python socket程式設計之udp
一樣從c s架構開始 乙個簡單的客戶端傳送訊息後,服務端處理成大寫的結果之後返回給客戶端 基於udp協議下的c s架構之服務端 from socket import udp server socket af inet,sock dgram ip port 127.0.0.1 8080 buffer ...
網路程式設計之UDP協議
將資料及源和目的封裝成資料報,不需要建立連線。每個資料報的大小限制在64k內。因無連線,是不可靠的協議,但是速度快。客戶端 1 建立udp傳輸的傳送端 2 建立udp的socket服務 3 將要傳送的資料封裝到資料報中 4 通過udp的socket服務獎資料報傳送過去 5 關閉socket服務 pu...