<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一江春水向東流

    做一個有思想的人,期待與每一位熱愛思考的人交流,您的關注是對我最大的支持。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      44 隨筆 :: 139 文章 :: 81 評論 :: 0 Trackbacks

    借此地方整理以下socket編程的多種語言的實現,socket可以跨平臺的通信,因此多語言、多平臺下的實現有必要了解的。代碼都是源自網上,感謝網友的分享。

    socket編程在windows下的C語言實現,dev C++下編譯通過
    編譯時設置編譯選項 工具-->編譯選項-->編譯器,勾選在連接器命令行加入以下命令,在對話框中填-lwsock32
    //server.c
    #include <stdio.h>
    #include <Winsock2.h>
    int main()
    {
    ??? WORD wVersionRequested;
    ??? WSADATA wsaData;
    ??? int err;
    ???
    ??? wVersionRequested = MAKEWORD( 1, 1 );
    ???
    ??? err = WSAStartup( wVersionRequested, &wsaData );
    ??? if ( err != 0 ) {
    ??????? return;
    ??? }
    ???
    ??? if ( LOBYTE( wsaData.wVersion ) != 1 ||
    ??? HIBYTE( wsaData.wVersion ) != 1 ) {
    ??????? WSACleanup();
    ??????? return;
    ??? }
    ??? SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);
    ???
    ??? SOCKADDR_IN addrSrv;
    ??? addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
    ??? addrSrv.sin_family=AF_INET;
    ??? addrSrv.sin_port=htons(6000);
    ???
    ??? bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
    ???
    ??? listen(sockSrv,5);
    ???
    ??? SOCKADDR_IN addrClient;
    ??? int len=sizeof(SOCKADDR);
    ??? while(1)
    ??? {
    ??????? SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);
    ??????? char sendBuf[50];
    ??????? sprintf(sendBuf,"Welcome %s to here!",inet_ntoa(addrClient.sin_addr));
    ??????? send(sockConn,sendBuf,strlen(sendBuf)+1,0);
    ??????? char recvBuf[50];
    ??????? recv(sockConn,recvBuf,50,0);
    ??????? printf("%s\n",recvBuf);
    ??????? closesocket(sockConn);
    ??? }
    }

    //客戶端代碼
    #include <stdio.h>
    #include <Winsock2.h>
    int main()
    {
    ??? WORD wVersionRequested;
    ??? WSADATA wsaData;
    ??? int err;
    ???
    ??? wVersionRequested = MAKEWORD( 1, 1 );
    ???
    ??? err = WSAStartup( wVersionRequested, &wsaData );
    ??? if ( err != 0 ) {
    ??????? return;
    ??? }
    ???
    ??? if ( LOBYTE( wsaData.wVersion ) != 1 ||
    ??????? HIBYTE( wsaData.wVersion ) != 1 ) {
    ??????? WSACleanup( );
    ??????? return;
    ??? }
    ??? SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);
    ???
    ??? SOCKADDR_IN addrSrv;
    ??? addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
    ??? addrSrv.sin_family=AF_INET;
    ??? addrSrv.sin_port=htons(6000);
    ??? connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
    ??? send(sockClient,"hello",strlen("hello")+1,0);
    ??? char recvBuf[50];
    ??? recv(sockClient,recvBuf,50,0);
    ??? printf("%s\n",recvBuf);
    ??? closesocket(sockClient);
    ??? WSACleanup();
    }

    posted on 2009-04-03 22:34 allic 閱讀(1146) 評論(0)  編輯  收藏 所屬分類: C/C++ 、TCP/IP 開發 、win32
    主站蜘蛛池模板: 亚洲人成综合网站7777香蕉| 亚洲高清国产AV拍精品青青草原| 亚洲国产精品日韩在线观看| 久久青草免费91线频观看不卡| 亚洲精品国偷自产在线| jizz中国免费| 中文亚洲AV片在线观看不卡| caoporm超免费公开视频| 亚洲精品成a人在线观看| 免费无码专区毛片高潮喷水| 久久久久亚洲av成人无码电影| 国产精品内射视频免费| 亚洲色欲久久久综合网| 99热免费在线观看| 亚洲伊人久久大香线蕉在观 | 国产va免费精品| 亚洲五月综合缴情在线观看| 久久久久久久岛国免费播放| 91午夜精品亚洲一区二区三区| 无码人妻久久一区二区三区免费丨 | 亚洲精品国产高清不卡在线| 国产精品九九久久免费视频 | 蜜桃视频在线观看免费视频网站WWW | 91亚洲国产成人久久精品| 免费可以在线看A∨网站| 国产精品亚洲综合一区在线观看 | 亚洲综合小说久久另类区| 性xxxxx免费视频播放| 亚洲成a人无码亚洲成www牛牛| 亚洲乱亚洲乱少妇无码| 成人性做爰aaa片免费看| 亚洲国产精品午夜电影| 国产aa免费视频| 久久免费高清视频| 亚洲综合一区无码精品| 精品国产人成亚洲区| 四虎在线免费视频| 黄网站在线播放视频免费观看| 亚洲国产高清人在线| 国产又大又黑又粗免费视频 | 亚洲精品国产美女久久久|