<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
    主站蜘蛛池模板: 91香焦国产线观看看免费 | 久久亚洲AV成人无码国产| 一级毛片在播放免费| 国产免费变态视频网址网站 | 免费国产a国产片高清| 亚洲国产区男人本色| 日本成人免费在线| 亚洲黄色片免费看| 亚洲毛片在线免费观看| 67194熟妇在线永久免费观看| 91亚洲精品自在在线观看| 99re热免费精品视频观看| 亚洲AV成人一区二区三区在线看| 日本一区二区三区免费高清 | 五月婷婷免费视频| 国产亚洲AV手机在线观看| 日韩在线视频线视频免费网站| 亚洲国产成人超福利久久精品| 蜜臀AV免费一区二区三区| 亚洲国产精品乱码在线观看97| 亚洲精品视频在线观看免费| 亚洲人成网站色在线观看| 国产精品美女自在线观看免费| 日韩免费在线中文字幕| 精品亚洲一区二区| 99精品国产免费久久久久久下载| 亚洲爆乳少妇无码激情| 亚洲人成无码网WWW| 久久久久久成人毛片免费看| 亚洲午夜精品在线| 又爽又黄无遮挡高清免费视频| 久久久久久国产a免费观看不卡| 亚洲日本视频在线观看| 国产高清免费在线| 精品国产一区二区三区免费| 亚洲一级毛片在线观| 亚洲国产成人精品无码久久久久久综合| 国产成人无码区免费网站| 国产成人精品日本亚洲专一区| 亚洲第一区精品日韩在线播放| 久久成人免费电影|