(都是些沒營養的東西,tcp就懶得加了。socket在網上的東西實在太多了,寫這個只因為想把開發板帶的**翻譯一遍而已)
udp協議的全稱是使用者資料報協議,在網路中它與tcp協議一樣用於處理資料報,是一種無連線的協議。在osi模型中,在第四層——傳輸層,處於ip協議的上一層。
由於udp協議比較簡單,作為linux的初學者可以很快的掌握程式的寫法與思路。作為第乙個所讀較大的linux程式,希望大家重點理解庫函式的呼叫與udp的實現過程。呼叫驅動為並不是字元驅動(dm9000連x86的微機上都有),所以暫時不去了解。(udp網路廣泛應用於我們的生活中,連qq的會話都是通過它實現的)
重點掌握函式:
socket;
sizeof;
memset;
htons;
atoi;
inet_pton;
bind;
fgets;
sendto;
recvfrom;
本程式相對於前面幾個程式顯得略微有些大,簡單了解一下就好。
#include #include #include #include #define buflen 255 //輸入字元最大值+1
int main(int argc, char **argv)
sockfd = socket(af_inet, sock_dgram, 0);//建立乙個能夠進行網路通訊的套接字
//tcp/ip協議,資料報套接字型別,0(1為關
//閉緩衝,實時傳輸???)
if(sockfd<0)
socklen = sizeof(struct sockaddr_in); //判斷sockaddr_in所佔位元組數
memset(&peeraddr, 0, socklen); //清空結構體,將peeraddr中前socklen個字 //節替換為0並返回peeraddr的指標
peeraddr.sin_family=af_inet;//設定結構體中sin_family為tcp/ip協議
peeraddr.sin_port=htons(atoi(argv[2])); //同理,ip設定為輸入 //的對方ip埠 atoi()字元轉整形htons的功能:將乙個無
//符號短整型數值轉換為網路位元組序
if(inet_pton(af_inet, argv[1], &peeraddr.sin_addr)<=0)
memset(&localaddr, 0, socklen);
//清空結構體,將localaddr中前socklen個字
//節替換為0並返回localaddr的指標
localaddr.sin_family=af_inet;
//設定結構體中sin_family為tcp/ip協議
if(inet_pton(af_inet, argv[3], &localaddr.sin_addr)<=0)
localaddr.sin_port=htons(atoi(argv[4]));
//同理,ip設定為輸入的對方ip埠
//atoi()字元轉整形htons的功能:將乙個無符號短整型數值轉換為網路 //位元組序
if(bind(sockfd, &localaddr, socklen)<0)
if(fgets(recmsg, buflen, stdin) == null) exit(0);
//將標準輸入stdin中的資料一行輸入recmsg中最大buflen-1個字元
if(sendto(sockfd, recmsg, strlen(recmsg), 0, &peeraddr, socklen)<0)
for(;;)else
if(fgets(recmsg, buflen, stdin) == null) exit(0);//再輸入
if(sendto(sockfd, recmsg, strlen(recmsg), 0, &peeraddr, socklen)<0)
}}
12月份的武漢免費玩
不知不覺已經到了2017的最後乙個月,儘管是最後乙個月,武漢也毫不含糊,燈光節 花博會全都來了 12月,武漢將成為最好玩的地方。12月的武漢,有趣的地方越來越多,快跟著多多去轉轉。1.武漢花博會法式小鎮 路線 二環線 東風大道 後官湖大道 知音湖大道 天星 2017年建成開放的武漢花博匯法式小鎮,打...
乙個被爛眼兒公司水了的同學
前天,大家都在高高興興吃畢業散夥飯的時候。w同學站起來,端著酒杯,說,給大家說乙個壞訊息 我的工作弄丟了。瞬間,氣氛尷尬了。w說,原來他跟公司說好,答完辯就到公司實習。公司也同意了。但前天打 給那公司的時候,公司卻說,因為他沒有去實習,就取消offer了。大家都在咒罵那家公司。那家公司叫 我要去哪兒...
乙個被爛眼兒公司水了的同學
前天,大家都在高高興興吃畢業散夥飯的時候。w同學站起來,端著酒杯,說,給大家說乙個壞訊息 我的工作弄丟了。瞬間,氣氛尷尬了。w說,原來他跟公司說好,答完辯就到公司實習。公司也同意了。但前天打 給那公司的時候,公司卻說,因為他沒有去實習,就取消offer了。大家都在咒罵那家公司。那家公司叫 我要去哪兒...