winsock編程-入門

來源:互聯網
上載者:User

標籤:網路編程

client:
#include<winsock2.h>#include<cstdio>#pragma comment(lib,"ws2_32.lib")int main(){    int err;    WORD versionRequired;    WSADATA WSAData;    versionRequired=MAKEWORD(1,1);    err=WSAStartup(versionRequired,&WSAData);    if(!err)        printf("start\n");    else    {        printf("error\n");        return 1;    }    SOCKET clientSocket=socket(AF_INET,SOCK_STREAM,0);    SOCKADDR_IN clientsock_in;    clientsock_in.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");    clientsocket_in.sin_family=AF_INET;    clientsock_in.sin_port=htons(6000);    connect(clientSocket,(SOCKADDR*)&clientsock_in,sizeof(SOCKADDR));    char receiveBuf[100];    if(true)    {        printf("Send:%s\n","hello,this is client");        send(clientSocket,"hello,this is client",strlen("hello,this is client")+1,0);        recv(clientSocket,receiveBuf,101,0);        printf("recv:%s\n",receiveBuf);        closesocket(clientSocket);        WSACleanup();    }    return 0;}
sever
/*server.cpp*/#include <WINSOCK2.H>#include <stdio.h>#pragma comment(lib,"ws2_32.lib")int main(int argc,char **argv){    //建立通訊端    WORD myVersionRequest;    WSADATA wsaData;    myVersionRequest=MAKEWORD(1,1);    int err;    err=WSAStartup(myVersionRequest,&wsaData);    if (!err){        printf("已開啟通訊端\n");    }else{        printf("ERROR:嵌套字未開啟!");        return 1;    }    //進一步綁定通訊端    SOCKET serSocket=socket(AF_INET,SOCK_STREAM,0);//建立了可識別通訊端    //需要綁定的參數    SOCKADDR_IN addr;    addr.sin_family=AF_INET;    addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//ip地址    addr.sin_port=htons(6000);//綁定連接埠    bind(serSocket,(SOCKADDR*)&addr,sizeof(SOCKADDR));//綁定完成    listen(serSocket,5);//其中第二個參數代表能夠接收的最多的串連數    //////////////////////////////////////////////////////////////////////////    //開始進行監聽    //////////////////////////////////////////////////////////////////////////    SOCKADDR_IN clientsocket;    int len=sizeof(SOCKADDR);    while (1)    {        SOCKET serConn=accept(serSocket,(SOCKADDR*)&clientsocket,&len);//如果這裡不是accept而是conection的話。。就會不斷的監聽        char sendBuf[100];        sprintf(sendBuf,"hello, %s !",inet_ntoa(clientsocket.sin_addr));//找對對應的IP並且將這行字列印到那裡        printf("Send:%s\n",sendBuf);        send(serConn,sendBuf,strlen(sendBuf)+1,0);        char receiveBuf[100];//接收        recv(serConn,receiveBuf,sizeof(receiveBuf),0);        printf("recv:%s\n",receiveBuf);        closesocket(serConn);//關閉        WSACleanup();//釋放資源的操作        return 0;    }    return 1;}

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

winsock編程-入門

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.