乙個簡單的接收網路資料程式

2021-04-22 18:56:42 字數 1547 閱讀 2811

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#define   socket_error       -1   

#define   invalid_socket     -1   

int createlisteningsocket(const

char* ip, unsigned short port, int* err_code)   

else

sin.sin_family = af_inet;   

sin.sin_port = htons(port);   

if( (sockfd=socket(af_inet,sock_stream,0))   !=   socket_error &&   

(ret = setsockopt(sockfd, sol_socket, so_reuseaddr, (char*)&on, sizeof(on))) != socket_error &&   

(ret = bind(sockfd,(struct sockaddr *)&sin,sizeof(sin))) != socket_error &&   

(ret = listen(sockfd, 5)) != socket_error)

if(ret == socket_error)

}   

return sockfd;   

}   

static

void   handle_client(int   cs,   const   socdaddr_in*   sinsrc)   

else

if(n   <   0)

else

}int main(int argc, char* argv)   

//start looping server   

while(1)

//handle cs   

handle_client(cs, &sinsrc);   

close(cs);   

}   

close(s);   

return -1;   }

這是乙個簡單的測試程式。

平台:suse linux 10

功能:簡歷tcp網路偵聽埠,接收資料報

總結:1.兩個socket,乙個是面向套接字,即socket的返回值;乙個是面向連線套接字,accept之後的返回值。

2.有人說,同一臺電腦上可以在同乙個埠上建立多個套接字,比如3個程序都建立了套接字,bind了同乙個埠,並且處在listen狀態,網路資料過來時,只能有乙個socket能收到資料,待驗證。

3.只有接收了tcp連線後,才能確定對方的ip和port,即從accpet的入參中得到remote ip & remote tcp port。

源**:

乙個簡單的verlig程式 乙個簡單C程式的介紹

我們前面學了c語言的一些理論知識,今天通過乙個簡單的程式先來看一看c語言程式是什麼樣子。然後再對程式中的 進行介紹。這個語句的功能是進行有關的預處理操作。include稱為檔案包含命令,後面尖括號的內容稱為標頭檔案或首檔案。此處指包含stdio.h系統標頭檔案,在下面主函式中使用的printf 函式...

乙個簡單的資料收集程式

include include define bufferlength 500 define num benchmarks 10 int isbuffercontainsstr char buffer,char str,int n if j n return iscontains int main ...

Unity網路互動丨乙個簡單的網路程式

本章目的 實現乙個簡單的網路程式,了解基本的內容 方法 建立乙個伺服器端vs工程,乙個客戶端vs工程 此時開著兩個vs!先執行伺服器端工程,再執行客戶端工程 開始執行,不除錯 看到客戶端先向伺服器傳送字串,伺服器端收到後,將這個字串返回到客戶端,客戶端將它列印出來 以下是上述兩個工程 using s...