C語言socket編程使用方法
C語言是一門通用計算機編程語言,應用廣泛。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(_addr));
4 send(sockConn,sendBuf,strlen(sendBuf)+1,0);
5 char recvBuf[50];
6 recv(sockConn,recvBuf,50,0);
7 printf("%sn",recvBuf);
8 closesocket(sockConn);
第二部分 用户端
一、創建用户套接字(create)。
二、與遠程服務器進行連接(connect),如被接受則創建接收進程。
三、開始數據傳輸(send/receive)。
四、關閉套接字(closesocket)。
客户端代碼
1 SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);
2
3 SOCKADDR_IN addrSrv;
4 _addr.S_un.S_addr=inet_addr("");
5 _family=AF_INET;
6 _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);
11 printf("%sn",recvBuf);
服務器端代碼和客户端主要代碼基本上都是上面的程序,
在應用的過程中有幾點要根據自己的需求更改,
1、是服務器端的IP地址,根據自己的IP段進行修改;
2、htons(6000)是端口號根據具體設定進行修改,我們PLC端口號用到是9600,這點我們需要修改成9600。
網上好多程序都是VC6寫的,在參考過程中葉遇到了問題,程序LICK出現瞭如下錯誤
unresolved external symbol __imp__closesocket@4
解決辦法:
這是由於VC庫中沒有加如 ws2_ 所致。
解決方案一:程序代碼中加入#pragma comment(lib, "Ws2_")
解決方案二:在projectsettinglink 中object/library modules加入 ws2_
這個是VC6的解決方案,我用的VS2008找了一下
上個圖吧,VS2008裏設置,工程屬性-鏈接器-命令行-附加選項添加 ws2_就ok了。
編譯通過後,服務器端,可以看到hello,
客户端,可以看到welcome to here!
-
C語言輸出菱形的方法
題目:輸出行列都相等的菱形,如5行5列:行列123451*2***3*****4***5*分析:當行數等於總行數的一半時,*是遞增的,遞增為2。當行數大於總行數的一半時,*是遞減的,遞增為2。設有一個行列為n的菱形,我們用變量i作為行數,以0開始,ik作為n菱第i行要輸出的*個數。則i<=n的中值(用m...
-
C語言考試機試經驗三部曲
全國計算機等級考試的持續升温,至使全國計算機等級考試證書已成為國家公務員、國家企事業單位工作人員、公司員工等上崗、加薪、提拔的必備條件。以下是本站小編整理的C語言考試機試經驗三部曲,希望可以為您的考試帶來幫助!第一部:備考篇名將不打無準備之仗,複習備...
-
2017年3月計算機二級C語言考試摸底測試題
以下是yjbys考試網小編整理的2017年3月計算機二級C語言考試摸底測試題,希望對大家有所幫助,祝大家計算機二級考試順利通過。一、選擇題(每小題1分。)(1)程序流程圖中帶有箭頭的線段表示的是()。A.圖元關係B.數據流C.控制流D.調用關係(2)結構化程序設計的基本原則...
-
C語言精選面試題詳解
C語言是IT編程中最基礎的語言,在面試中,基本可以忽略又或者格外重要。下面是小編為大家整理的C語言精選面試題詳解,歡迎參考~分析這些面試題,本身包含很強的趣味性;而作為一名研發人員,通過對這些面試題的深入剖析則可進一步增強自身的內功。試題1:以下是引用片段:voi...