欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

C語(yǔ)言

C語(yǔ)言socket編程的方法

時(shí)間:2025-04-29 00:49:55 C語(yǔ)言 我要投稿

C語(yǔ)言socket編程的方法

  socket編程的教材網(wǎng)上搜羅下還是很多的,思路基本上也是一樣的,程序分兩部分客戶(hù)端和服務(wù)器端,下面是小編為大家搜索整理的C語(yǔ)言socket編程的方法,希望大家能有所收獲,更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  第一部分 服務(wù)器端

  一、創(chuàng)建服務(wù)器套接字(create)。

  二、服務(wù)器套接字進(jìn)行信息綁定(bind),并開(kāi)始監(jiān)聽(tīng)連接(listen)。

  三、接受來(lái)自用戶(hù)端的連接請(qǐng)求(accept)。

  四、開(kāi)始數(shù)據(jù)傳輸(send/receive)。

  五、關(guān)閉套接字(closesocket)。

  socket接收、發(fā)送代碼

  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\n",recvBuf);

  8 closesocket(sockConn);

  第二部分 用戶(hù)端

  一、創(chuàng)建用戶(hù)套接字(create)。

  二、與遠(yuǎn)程服務(wù)器進(jìn)行連接(connect),如被接受則創(chuàng)建接收進(jìn)程。

  三、開(kāi)始數(shù)據(jù)傳輸(send/receive)。

  四、關(guān)閉套接字(closesocket)。

  客戶(hù)端代碼

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

  2

  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);

  11 printf("%s\n",recvBuf);

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

  在應(yīng)用的過(guò)程中有幾點(diǎn)要根據(jù)自己的需求更改,

  1、127.0.0.1是服務(wù)器端的IP地址,根據(jù)自己的IP段進(jìn)行修改;

  2、htons(6000)是端口號(hào)根據(jù)具體設(shè)定進(jìn)行修改,我們PLC端口號(hào)用到是9600,這點(diǎn)我們需要修改成9600。

  網(wǎng)上好多程序都是VC6寫(xiě)的,在參考過(guò)程中葉遇到了問(wèn)題,程序LICK出現(xiàn)了如下錯(cuò)誤

  unresolved external symbol __imp__closesocket@4

  解決辦法:

  這是由于VC庫(kù)中沒(méi)有加如 ws2_32.lib 所致。

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

  解決方案二:在project\setting\link 中object/library modules加入 ws2_32.lib

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

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

  編譯通過(guò)后,服務(wù)器端,可以看到hello,

  客戶(hù)端,可以看到welcome 127.0.0.1 to here!

【C語(yǔ)言socket編程的方法】相關(guān)文章:

C語(yǔ)言socket編程使用方法06-20

C語(yǔ)言socket編程使用方法簡(jiǎn)介07-29

C語(yǔ)言socket編程開(kāi)發(fā)應(yīng)用示例10-21

C語(yǔ)言高效編程的方法06-26

Python的Socket 編程07-05

鏈表的C語(yǔ)言實(shí)現(xiàn)方法編程學(xué)習(xí)06-12

C編程語(yǔ)言概述10-20

C語(yǔ)言編程基礎(chǔ)08-17

PHP Socket編程過(guò)程07-19