两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

前面講解了Socket通信中服務(wù)端的每一步功能作用及實現(xiàn),而重點是多個步驟在一起時,上下文 函數(shù)之間的信息傳遞需要我們理解,如SOCKADDR_IN的結(jié)構(gòu)體、各個SOCKET描述符等參數(shù),以及在此基礎(chǔ)之上改進得到的希望的實際效果(如需要不停的接受消息、發(fā)送消息)

下面我們將所有步驟串聯(lián)在一起,提供一個可以連續(xù)接收客戶端信息的服務(wù)端程序,完整代碼供大家參考:

#include <winsock2.h>
#include <stdio.h>
#pragma comment(lib,"ws2_32.lib")
int main()
{
 
 	WSADATA wsaData;
	WSAStartup( MAKEWORD(2, 2), &wsaData); //目前建議使用最新2.2版本
    SOCKET serSocket=socket(AF_INET,SOCK_STREAM,0);//創(chuàng)建了可識別套接字
    if(serSocket!=-1)
    {
    	printf("成功創(chuàng)建套接字!%d\n",serSocket);	
	}

    //需要綁定的參數(shù),主要是本地的socket的一些信息。
    SOCKADDR_IN addr;
    addr.sin_family=AF_INET;
    addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//ip地址
    addr.sin_port=htons(12345);//綁定端口

    bind(serSocket,(SOCKADDR*)&addr,sizeof(SOCKADDR));//綁定完成
    listen(serSocket,5);//其中第二個參數(shù)代表能夠接收的最多的連接數(shù)
	printf("等待客戶端...\n");
    SOCKADDR_IN clientsocket;
    int len=sizeof(SOCKADDR);
    //第二次握手,通過accept來接受對方的套接字的信息
    SOCKET serConn=accept(serSocket,(SOCKADDR*)&clientsocket,&len);
    //如果這里不是accept而是conection的話。。就會不斷的監(jiān)聽
    if(serConn)
    {
       printf("監(jiān)聽到新的客戶端...\n");
    }
    while (1)
    {
        char sendBuf[100];
        sprintf(sendBuf,"welcome %s to here",inet_ntoa(clientsocket.sin_addr));//找對對應(yīng)的IP并且將這行字打印到那里
        //發(fā)送信息
    	send(serConn,sendBuf,strlen(sendBuf)+1,0);
        char receiveBuf[100];//接收
        int RecvLen;
        RecvLen=recv(serConn,receiveBuf,100,0);
        if(RecvLen!=-1)
        	printf("%d %s\n",RecvLen,receiveBuf);
        else
            break;

       }
       closesocket(serConn);//關(guān)閉
       WSACleanup();//釋放資源的操作
       return 0;
}

因為暫時沒有客戶端連接,運行后為等待效果狀態(tài),效果如下:

服務(wù)端運行效果圖


如果此時有本機有客戶端同時監(jiān)聽“12345”端口,即可以相互通信,具體客戶端代碼及實現(xiàn)請看第三章

點贊(0)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點擊了解:

一點編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進階課程

從零到寫出一個爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程

手把手講解近五年真題的藍橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運行等待時間)