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

正文內(nèi)容

網(wǎng)絡(luò)工程課程設(shè)計(jì)基于socket的聊天軟件畢業(yè)論文-資料下載頁

2025-06-21 15:02本頁面
  

【正文】 bind(sListen, (struct sockaddr *)amp。local, sizeof(SOCKADDR_IN))。//地址綁定到套接字listen(sListen, 1)。//開始監(jiān)聽sClient = accept(sListen, (struct sockaddr *)amp。client, amp。iaddrSize)。//建立連接printf(Accepte client:%s:%d\n, inet_ntoa(), ntohs())。HANDLE hThread=CreateThread(NULL,0,FunThread,0,0,0)。//創(chuàng)建接收線程CloseHandle(hThread)。while (TRUE){ printf(Server Send:)。 //從鍵盤輸入 gets(s_Message)。 //發(fā)送數(shù)據(jù) send(sClient, s_Message, strlen(s_Message), 0)。 }return 0。 } DWORD WINAPI FunThread(LPVOID){ char c_Message[MSGSIZE]。 //收發(fā)緩沖區(qū)int ret。 //接收字節(jié)的個(gè)數(shù)while (TRUE){ ret = recv(sClient, c_Message, MSGSIZE, 0)。//接收數(shù)據(jù) if(ret==SOCKET_ERROR) { printf(\nclient is closed!)。 sClient = accept(sListen, (struct sockaddr *)amp。client, amp。iaddrSize)。//重新開始監(jiān)聽 printf(\nAccepte new client:%s:%d, inet_ntoa(), ntohs())。 memset(c_Message,0,1024)。//將原來的client message歸零 continue。 } c_Message[ret] = 39。\039。 printf(\nReceived: %s\n, c_Message)。 }return 0。 }客戶端:include include define SERVER_ADDRESS //服務(wù)器端IP地址define PORT 6000 define MSGSIZE 1024 pragma ment(lib, ) DWORD WINAPI FunThread(LPVOID)。 SOCKET sClient。 SOCKADDR_IN server。 int main(){ WSADATA wsaData。 char c_Message[MSGSIZE]。 WSAStartup(0x0202, amp。wsaData)。sClient = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)。 memset(amp。server, 0, sizeof(SOCKADDR_IN))。 //先將保存地址的server置為全0 = PF_INET。 //聲明地址格式是TCP/IP地址格式 = htons(PORT)。 //指明連接服務(wù)器的端口號(hào) = inet_addr(SERVER_ADDRESS)。 //指明連接服務(wù)器的IP地址connect(sClient, (struct sockaddr *)amp。server, sizeof(SOCKADDR_IN))。 //連到剛才指明的服務(wù)器上HANDLE hThread=CreateThread(NULL,0,FunThread,0,0,0)。CloseHandle(hThread)。while (TRUE){ printf(Client Send:)。 gets(c_Message)。 send(sClient, c_Message, strlen(c_Message), 0)。 if(!strcmp(c_Message,exit))//client自身退出 exit(1)。}// 釋放連接和進(jìn)行結(jié)束工作closesocket(sClient)。WSACleanup()。return 0。}DWORD WINAPI FunThread(LPVOID){char s_Message[MSGSIZE]。int ret。 while (TRUE){ ret = recv(sClient, s_Message, MSGSIZE, 0)。 if(ret==SOCKET_ERROR) { printf(\nServer is closed!\n)。 exit(1)。 } s_Message[ret] = 39。\039。 printf(\nReceived: %s\n, s_Message)。 if(!strcmp(s_Message,exit))//server讓client退出 exit(1)。}return 0。}四、課程設(shè)計(jì)總結(jié) 經(jīng)過這次的課程設(shè)計(jì),使我對(duì)于虛擬局域網(wǎng)的原理和應(yīng)用有了進(jìn)一步的了解;提高了對(duì)子網(wǎng)劃分的熟練程度;掌握了對(duì)于windows server系統(tǒng)的各種服務(wù)器的配置;通過套接字編程對(duì)網(wǎng)間進(jìn)程通信和端口號(hào)有了深入的理解,掌握了套接字編程的一般規(guī)律和技巧。下一步需要對(duì)套接字編程做進(jìn)一步的深入研究,掌握Client/ Server結(jié)構(gòu)軟件的設(shè)計(jì)與開發(fā)
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1