導航:首頁 > 編程語言 > c非同步網路編程

c非同步網路編程

發布時間:2024-06-28 18:28:51

Ⅰ C# C/S網路編程 由於系統緩存空間不足或列隊已滿,不能執行套接字上的操作

改成以下代碼試試

public void ReceiveMsg()

{
// 啟動非同步接收
IAsyncResult iar = udpReceiveClient.BeginRecevice(
new AsyncCallback(ReceiveCallback),
udpReceiveState);
}

private void ReceiveCallback(IAsyncResult iar)
{
// 繼續非同步接收
ReceiveMsg();

// 完成前一次非同步接收EndReceive處理
UdpState udpReceiveState = iar.AsyncState as UdpState;

//……
}
要注意的是:
1)Socket非同步接收處理過程中用到了.net framework內部線程池,而線程池中線程的數量是有限制的。
2)ReceiveMsg中的 while(true)循環是多餘的
3)ReceiveMsg中的 lock(this) 沒有意義
4)WaitOne, Sleep() 都是多餘的

Ⅱ 在windows下用C語言如何實現socket網路編程,需要用到哪些頭文件或者庫

需要用到的頭文件包含:

#include <winsock2.h>

#include <windows.h>

與Linux環境下socket編程相比,windows環境多了一個步驟:啟動或者初始化winsock庫

Winsock,一種標准API,一種網路編程介面,用於兩個或多個應用程序(或進程)之間通過網路進行數據通信。具有兩個版本:

Winsock 1:

Windows CE平台支持。

頭文件:WinSock.h

庫:wsock32.lib

Winsock 2:

部分平台如Windows CE貌似不支持。通過前綴WSA可以區別於Winsock 1版本。個別函數如WSAStartup、WSACleanup、WSARecvEx、WSAGetLastError都屬於Winsock 1.1規范的函數;

頭文件:WinSock2.h

庫:ws2_32.lib

mswsock.h用於編程擴展,使用時必須鏈接mswsock.dll

(2)c非同步網路編程擴展閱讀

winsock庫的載入與卸載:

載入:int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData);

載入成功,返回值為0。

WORD wVersionRequested:載入的winsock版本,使用宏MAKEWORD(x, y),x表示高位元組,y表示低位元組。然而使用時MAKEWORD(2, 2)。高位元組與低位元組相同~~

LPWSADATA lpWSAData:WSADATA結構的指針,傳入參數後,系統幫助我們填充版本信息。有興趣的可以看看結構體內容,不過基本用不著。

卸載:int WSACleanup(void);比起載入,卸載的函數真是輕松愉快。

Ⅲ c語言的網路編程特點有哪些(在線等待,答得好馬上給分!)

1、你說得用C語言開發網路程序,一定指的是在WIN/UNIX/LINUX/SOLARIS/FreeBSD等多進程/多線程操作系統下的編程,網路編程是基於B/S或者C/S架構的,無論那種,S都需要有多線程或者子進程的處理與客戶端通信的能力,DOS下的C是不具備這個能力。另外,網路程序是對操作系統多線程/多進程能力要求很高的應用,所以UNIX下的C編程能很好的滿足要求。
2、網路編程只要遵從一種協議,語言是沒有限定的,比較各種語言編寫的網路應用的特點,歸根結底還是回到這種語言已經它存在的操作系統的特點。相比與其他語言開發的網路程序,用UNIX/SOKCET/C這種模式開發的網路應用能最大限度的利用系統資源,同時兼備UNIX的穩定性和C的高效率,是大型網路應用經常採用的方式,例如著名的freeBSD,大量的論壇都是這樣的方式。很多網路應用,離開UNIX和C,在重連接負荷的情況下是無法工作的。
3、但是由於高效與通用是一對矛盾,UNIX/C開發的網路應用,比較靠近系統底層,代碼的可移植性、可重用性相對於使用winsock編程的WINDOWS/C++方案的網路應用要差一些,windows的MFC已經對網路協議做了很多層的封裝,使用C++來繼承可以節省大量開發時間。
4、結論,如果你想開發自己全新的網路應用/協議,並且要承擔很重的用戶訪問負荷,那麼你可以用C,而且操作系統要用UNIX/LINUX,如果你僅僅希望用已經成熟的internet協議寫一些界面漂亮的網路應用,推薦你用WINDOWS/C++方式。

閱讀全文

與c非同步網路編程相關的資料

熱點內容
如何拼合pdf文件 瀏覽:770
啄木鳥電影大合集 瀏覽:987
php網頁如何修改 瀏覽:314
愛倫坡全集pdf 瀏覽:128
在伺服器怎麼弄32k鑽石劍 瀏覽:144
食物鏈電視劇韓國演員 瀏覽:116
vp電視劇網站免費 瀏覽:161
閔度允電影網站 瀏覽:53
全民小視頻推送演算法 瀏覽:681
上司命令三個月減肥 瀏覽:816
韓國高顏值限制性電影 瀏覽:407
水平式垃圾壓縮中轉站 瀏覽:697
外國男人把女殺了在船上偷情的電影叫什麼 瀏覽:339
平台伺服器什麼意思 瀏覽:741
程序員那麼可愛渣男 瀏覽:672
韓les電影 瀏覽:324
a7怎麼安裝app 瀏覽:174
電影電視劇網站免費網址 瀏覽:326
Python如何下載cv2庫 瀏覽:309
phpmcryptencrypt 瀏覽:801