用C或者C++语言实现SOCKET通信

时间:2024-06-17 05:28:51 资料大全 我要投稿
  • 相关推荐

用C或者C++语言实现SOCKET通信

  #include

  #include

  void main()

  {

  WORDwVersionRequested;

  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[100];

  sprint(sendBuf,”Welcome %s to http://www.sunxin.org“,

  inet_ntoa(addrClient.sin_addr));

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

  char recvBuf[100];

  recv(sockConn,recvBuf);

  printf(“%s\n”,recvBuf);

  closesocket(sockConn);

  WSACleanup();

  }

  }

  注:这是Server端;File->New->Win32 Console Application,工程名:TcpSrv;然后,File->New->C++ Source File,文件名:TcpSrv;在该工程的Setting的Link的Object/library modules项要加入ws2_32.lib

  #include

  #include

  void main()

  {

  WORDwVersionRequested;

  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_porthtons(6000);

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

  char recvBuf[100];

  recv(sockClient,recvBuf,100,0);

  printf(“%s\n”,recvBuf);

  send(sockClient,”This is zhangsan”,strlen(“This is zhangsan”)+1,0);

  closesocket(sockClient);

  WSACleanup();

  }

  注:这是Client端;File->New->Win32 Console Application,工程名:TcpClient;然后,File->New->C++ Source File,文件名:TcpClient;同理,在该工程的Setting的Link的Object/library modules项要加入ws2_32.lib

【用C或者C++语言实现SOCKET通信】相关文章:

C/C++笔试题目大全08-22

C++面试笔试题目07-16

阿里巴巴C++工程师笔试题目10-17

c语言课程设计的心得体会(精选19篇)07-14

c 面试编程问题08-11

通信专业招生口号09-15

梦想要用努力去实现04-07

《维生素c的故事》教学反思10-14

通信公司经理述职报告09-29

通信转正申请书08-26