#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...