<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 閱讀(1152) 評論(0)  編輯  收藏 所屬分類: C/C++TCP/IP 開發 、win32
    主站蜘蛛池模板: 一边摸一边爽一边叫床免费视频 | 亚洲美女在线国产| 亚洲一区二区三区成人网站| 色欲A∨无码蜜臀AV免费播| 亚洲成在人线av| 在线观看免费无码视频| 亚洲啪啪AV无码片| 日本人成在线视频免费播放| 亚洲成AV人在线观看天堂无码| 免费精品久久天干天干| 久久久久久亚洲av成人无码国产| 三级黄色片免费看| 亚洲国产精品久久久天堂| 午夜网站在线观看免费完整高清观看| 亚洲国产精品一区二区久久| 最新黄色免费网站| 久久亚洲精品国产精品婷婷| 色www永久免费视频| 日日狠狠久久偷偷色综合免费| 久久久无码精品亚洲日韩软件| 花蝴蝶免费视频在线观看高清版 | 亚洲五月综合缴情在线观看| 在线观看免费无码专区| 亚洲日本一区二区| 成人免费视频观看无遮挡| 久久精品国产亚洲AV电影网 | 久久久综合亚洲色一区二区三区| 最近高清中文字幕免费| 亚洲国产91在线| 亚洲国产成人久久笫一页| 中文字幕一区二区三区免费视频| 久久亚洲精品成人AV| 成人黄页网站免费观看大全| 久青草国产免费观看| 亚洲国产精品一区| 手机看片久久国产免费| 久久国产精品国产自线拍免费| 亚洲天堂免费在线| 国产成人亚洲综合无码| 国产成人免费午夜在线观看| 久久精品国产亚洲av瑜伽|