freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

【課程設(shè)計(jì)】基于udp協(xié)議采用winsock構(gòu)建網(wǎng)絡(luò)聊天室-在線瀏覽

2025-07-24 19:13本頁面
  

【正文】 ted = MAKEWORD(1,1)。 WSAStartup(VersionRequested, amp。 // 啟動(dòng)winsock服務(wù) if ( != VersionRequested ) { MessageBox(NULL,First Failed!,Error,0)。} 套節(jié)字的創(chuàng)建和關(guān)閉Winsock網(wǎng)絡(luò)通信的第一步通常就是調(diào)用socket()函數(shù)。該函數(shù)的功能與文件操作中的fopen()類似,返回值是由Winsock定義的一種數(shù)據(jù)類型SOCKET,它實(shí)際是一個(gè)整型數(shù)據(jù),是Socket創(chuàng)建成功時(shí),Windows分配給程序的Socket編號(hào),后面調(diào)用傳輸函數(shù)時(shí),可以把它像文件指針樣引用。Socket()函數(shù)的原形如下:SOCKET socket( int af,//用來指定套節(jié)字使用的地址格式,WinSock中只支持AF_INET int type, //用來指定套節(jié)字的類型//配合type參數(shù)使用,用來指定使用的協(xié)議類型,可以是IPPROTO_TCP等 int protocol)。套節(jié)字有流套節(jié)字、數(shù)據(jù)報(bào)套節(jié)字和原始套節(jié)字等,下面是常見的幾種套節(jié)字類型定義:SOCK_STREAM 流套節(jié)字,使用TCP協(xié)議提供有連接的可靠的傳說SOCK_DGRAM 數(shù)據(jù)報(bào)套節(jié)字,使用UDP協(xié)議提供無連接的不可靠傳輸SOCK_RAW 原始套節(jié)字,Winsock接口并不使用某種特定的協(xié)議去封裝它,而是有程序的自行處理數(shù)據(jù)報(bào)以及協(xié)議首部。函數(shù)執(zhí)行失敗返回INVYLID_SOCKET(即1),可以通過調(diào)用WSAGetLasError取得錯(cuò)誤代碼。如果沒有錯(cuò)誤發(fā)生,函數(shù)返回0,否則返回SOCKET_ERROR。 //函數(shù)唯一的參數(shù)就是關(guān)閉的套節(jié)字的句柄該過程的核心程序代碼如下:if(ServerSock!=0) { closesocket(ServerSock)。 } if(ServerSock==0) { //創(chuàng)建套接字對(duì)象,數(shù)據(jù)報(bào)套接字,SOCK_STREAM為流套接字 //建立套接字失敗 if((ServerSock=socket(AF_INET,SOCK_DGRAM,0))==SOCKET_ERROR) MessageBox(NULL,Set Socket Failed!,Error,0)。首先是自己的程序要與網(wǎng)上的哪臺(tái)計(jì)算機(jī)通話;其次,在多任務(wù)的系統(tǒng)下,該臺(tái)計(jì)算機(jī)上可能會(huì)有幾個(gè)程序在工作,必須指出要與哪個(gè)程序通信。為套節(jié)字關(guān)聯(lián)本地地址的函數(shù)是bind,函數(shù)原形如下: int bind( SOCKET s , //套節(jié)字句柄 const struct sockaddr * name, //要關(guān)聯(lián)的本地地址 int namelen)。當(dāng)一個(gè)套節(jié)字被socket函數(shù)創(chuàng)建之后,它存在于指定的地址家族里,但是它是名命名的。本地名稱包含3個(gè)部分:主機(jī)地址、協(xié)議號(hào)和端口號(hào)。 //系統(tǒng)自動(dòng)使用當(dāng)前主機(jī)配置的所有IP地址 =INADDR_ANY。serErr,TRUE)。 //bind()綁定套接字在指定的端口 if(bind(ServerSock,(LPSOCKADDR)amp。 return 1。int listen( SOCKET s, //套節(jié)字句柄 int backlog);//監(jiān)聽隊(duì)列中允許保持的尚未處理的最大連接數(shù)量為了接受連接,首先使用socket函數(shù)創(chuàng)建一個(gè)套節(jié)字,然后使用bind 函數(shù)綁定它到一個(gè)本地地址,再使用listen 函數(shù)為到達(dá)的連接指定一個(gè)backlog,最后使用accept接受請(qǐng)求的連接。函數(shù)成功執(zhí)行后,套節(jié)字s 進(jìn)入了被動(dòng)模式,到來的連接會(huì)被通知,排隊(duì)等接受處理。在基于UDP協(xié)議的網(wǎng)絡(luò)聊天室設(shè)計(jì)中,不需要listen 函數(shù),而這里的listen 監(jiān)聽知識(shí)綁定一個(gè)端口。 if (ServerSocket == INVALID_SOCKET ) { MessageBox(NULL,” socket創(chuàng)建失敗”,”Error”,0)。 } = AF_INET。 // 任何地址 = htons( PortNum )。srv, sizeof(srv)) != 0 ) {MessageBox(NULL,” socket綁定端口失敗”,”Error”,0)。 r
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1