国产女人18毛片水真多18精品, 一区二区三区中文字-亚洲精品女国产, 欧美熟妇老熟妇88888久久久久, 一级毛片免费观看亚洲欧美国产精品,大波霸美女视频,日韩欧美激情V影院,熟女人伦21p,亚洲精品女国产,国产 乱子伦 在线

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

時(shí)間:2025-08-23 13:07:26 C語(yǔ)言

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

  C語(yǔ)言socket編程該如何開發(fā)呢,下面小編為大家?guī)砹薈語(yǔ)言socket編程開發(fā)應(yīng)用示例,歡迎大家閱讀!

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

  實(shí)現(xiàn)步驟:

  1. Server端

  復(fù)制代碼 代碼如下:

  #include /pic/p>

  #include /pic/p>

  #pragma comment (lib, "ws2_32") /pic/p>

  復(fù)制代碼 代碼如下:

  int main()

  {

  WSADATA wsaData;

  WSAStartup(MAKEWORD(2, 2), &wsaData);

  SOCKET s=socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);

  sockaddr_in sockaddr;

  sockaddr.sin_family=PF_INET;

  sockaddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1"); /pic/p>

  sockaddr.sin_port=htons(9000); /pic/p>

  bind(s, (SOCKADDR*)&sockaddr, sizeof(SOCKADDR)); /pic/p>

  listen(s, 1); /pic/p>

  printf("listening on port [%d].n", 9000);

  while(TRUE)

  {

  SOCKADDR clientAddr;

  int size=sizeof(SOCKADDR);

  SOCKET clientsocket;

  clientsocket=accept(s, &clientAddr, &size); /pic/p>

  printf("***SYS*** New client touched.n");

  char* msg="Hello, my client.rn";

  send(clientsocket, msg, strlen(msg)+sizeof(char), NULL); /pic/p>

  printf("***SYS*** HELLO.n");

  while(TRUE)

  {

  char buffer[MAXBYTE]={0};

  recv(clientsocket, buffer, MAXBYTE, NULL); /pic/p>

  printf("***Client*** %sn", buffer);

  }

  closesocket(clientsocket); /pic/p>

  }

  closesocket(s);/pic/p>

  WSACleanup(); /pic/p>

  get);

  exit(0);

  }

  由于還在學(xué)習(xí)中,因此沒有實(shí)現(xiàn)多線程,因此客戶端實(shí)際上只能1個(gè),其他的會(huì)被擋在外面

  關(guān)于socket的緩沖區(qū)還有點(diǎn)學(xué)問,比如最后要rn結(jié)尾等,都是有原因的,建議看看資料。

  2. Client端

  復(fù)制代碼 代碼如下:

  #include /pic/p>

  #include /pic/p>

  #include /pic/p>

  #pragma comment (lib, "ws2_32") /pic/p>

  復(fù)制代碼 代碼如下:

  int main()

  {

  Sleep(2000); /pic/p>

  WSADATA wsaData;

  WSAStartup(MAKEWORD(2, 2), &wsaData);

  SOCKET s=socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);

  sockaddr_in sockaddr;

  sockaddr.sin_family=PF_INET;

  sockaddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");

  sockaddr.sin_port=htons(9000);

  connect(s, (SOCKADDR*)&sockaddr, sizeof(SOCKADDR));

  char buffer[MAXBYTE]={0};

  recv(s, buffer, MAXBYTE, NULL);

  printf("***SERVER***%s", buffer);

  while(TRUE)

  {

  char* mymsg=new char[100000];

  printf("You can chat with server now:n");

  gets(mymsg);

  send(s, mymsg, strlen(mymsg)+sizeof(char), NULL);

  /*

  recv函數(shù)中的bufferlength參數(shù)是可以固定值的

  send函數(shù)中的bufferlength參數(shù)不能固定值,需要看實(shí)際長(zhǎng)度,并且考慮到''字符串

  */

  }

  closesocket(s);

  WSACleanup();

  get);

  exit(0);

  }


【C語(yǔ)言socket編程開發(fā)應(yīng)用示例】相關(guān)文章:

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

C語(yǔ)言socket編程使用方法12-24

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

Python的Socket 編程02-02

C編程語(yǔ)言概述11-04

C語(yǔ)言編程基礎(chǔ)12-16

C語(yǔ)言socket多線程編程限制客戶端連接數(shù)11-20

C語(yǔ)言入門什么是編程語(yǔ)言12-13

PHP Socket編程過程12-20