<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            C語言

            C語言socket編程使用方法簡介

            時間:2025-03-01 21:49:21 C語言 我要投稿
            • 相關推薦

            C語言socket編程使用方法簡介

              第一部分 服務器端

              一、創建服務器套接字(create)。

              二、服務器套接字進行信息綁定(bind),并開始監聽連接(listen)。

              三、接受來自用戶端的連接請求(accept)。

              四、開始數據傳輸(send/receive)。

              五、關閉套接字(closesocket)。

              socket接收、發送代碼

              1 SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);

              2 char sendBuf[50];

              3 sprintf(sendBuf,"Welcome %s to here!",inet_ntoa(addrClient.sin_addr));

              4 send(sockConn,sendBuf,strlen(sendBuf)+1,0);

              5 char recvBuf[50];

              6 recv(sockConn,recvBuf,50,0);

              7 printf("%s ",recvBuf);

              8 closesocket(sockConn);

              第二部分 用戶端

              一、創建用戶套接字(create)。

              二、與遠程服務器進行連接(connect),如被接受則創建接收進程。

              三、開始數據傳輸(send/receive)。

              四、關閉套接字(closesocket)。

              客戶端代碼

              1 SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);

              2 printf("%s ",recvBuf);

              3 SOCKADDR_IN addrSrv;

              4 addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");

              5 addrSrv.sin_family=AF_INET;

              6 addrSrv.sin_port=htons(6000);

              7 connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));

              8 send(sockClient,"hello",strlen("hello")+1,0);

              9 char recvBuf[50];

              10 recv(sockClient,recvBuf,50,0);

              服務器端代碼和客戶端主要代碼基本上都是上面的程序,

              在應用的過程中有幾點要根據自己的需求更改,

              1、127.0.0.1是服務器端的IP地址,根據自己的IP段進行修改;

              2、htons(6000)是端口號根據具體設定進行修改,我們PLC端口號用到是9600,這點我們需要修改成9600。

              網上好多程序都是VC6寫的,在參考過程中葉遇到了問題,程序LICK出現了如下錯誤

              unresolved external symbol __imp__closesocket@4

              解決辦法:

              這是由于VC庫中沒有加如 ws2_32.lib 所致。

              解決方案一:程序代碼中加入#pragma comment(lib, "Ws2_32.lib")

              解決方案二:在projectsettinglink 中object/library modules加入 ws2_32.lib

              這個是VC6的解決方案,我用的VS2008找了一下

              上個圖吧,VS2008里設置,工程屬性-鏈接器-命令行-附加選項添加 ws2_32.lib就ok了。

              編譯通過后,服務器端,可以看到hello,

              客戶端,可以看到welcome 127.0.0.1 to here!

            【C語言socket編程使用方法簡介】相關文章:

            C語言socket編程使用方法06-20

            C語言socket編程的方法04-29

            C語言socket編程開發應用示例02-25

            Python的Socket 編程07-05

            C語言編程基礎05-20

            C編程語言概述03-24

            Java語言編程簡介03-04

            C語言socket多線程編程限制客戶端連接數07-27

            PHP Socket編程過程07-19

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看