<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
    主站蜘蛛池模板: 亚洲天然素人无码专区| 亚洲欧洲一区二区| 国产亚洲精品仙踪林在线播放| 希望影院高清免费观看视频| 亚洲黄色片在线观看| 永久免费在线观看视频| 亚洲精品免费在线视频| 国产四虎免费精品视频| 亚洲日韩AV一区二区三区中文 | 中文字幕免费视频精品一| 中文字幕亚洲综合久久菠萝蜜 | 免费看无码自慰一区二区| 亚洲老熟女五十路老熟女bbw | 色妞WWW精品免费视频| 亚洲乱妇老熟女爽到高潮的片| 国产18禁黄网站免费观看| 一级免费黄色大片| 亚洲AV日韩精品久久久久久久| 久久精品毛片免费观看| 色噜噜亚洲男人的天堂| 免费人成在线观看播放国产 | 亚洲精品美女久久久久99| 久久一区二区三区免费播放| 亚洲一线产区二线产区精华| 啦啦啦www免费视频| 一级毛片成人免费看a| 亚洲第一AV网站| 精品久久久久久久久免费影院| 欧美色欧美亚洲另类二区| 国产成人亚洲精品91专区手机| 小日子的在线观看免费| 亚洲人成色99999在线观看| 亚洲视频人成在线播放| 亚洲视频免费在线看| 亚洲av无码片vr一区二区三区| 狠狠亚洲婷婷综合色香五月排名| 无码人妻一区二区三区免费n鬼沢| 亚洲熟女精品中文字幕| 国产亚洲视频在线播放| 国产免费毛不卡片| 免费人成视频在线播放|