⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sotestclient.cpp

📁 windows S/C socket example.
💻 CPP
字号:
#include "stdio.h"
#include "afxmt.h"
#include "winsock2.h"
#pragma     comment(lib,"WS2_32.LIB")


class mclient{
private:
      SOCKET sock;
      sockaddr_in saddr;
      int len;
      char buf[4096];
public:
      mclient(){
          sock=socket(AF_INET,SOCK_STREAM,0);
          len=sizeof(saddr);
      }

      bool mconnect(char* addr,int port){
          saddr.sin_family=AF_INET;
          saddr.sin_port=htons(port);
          saddr.sin_addr.s_addr=inet_addr(addr);
          if(connect(sock,(struct sockaddr*)&saddr,len)==SOCKET_ERROR){
              printf("connect fail : %d",WSAGetLastError());
              return false;
          }
          return true;
      }

      void close(){
          closesocket(sock);
      }

      void msend(char* mes){
          send(sock,mes,strlen(mes),0);
      }

      bool receive(){
          memset(buf,0,4096);
          if(recv(sock,buf,4096,0)==SOCKET_ERROR){
              return false;
          }
          else{
              printf("received from server : %s\n",buf);
              return true;
          }
      }

};


int main()
{
      WSADATA wsaData;
      if (WSAStartup(MAKEWORD(2,1),&wsaData)){
           printf("Winsock initializing fail\n");
           WSACleanup();
           return 0;
      }
      mclient a;
      if(!a.mconnect("192.168.1.100",12345)){
          return 0;
      }
      char buf[1024];
      while(scanf("%s",buf)){
          if(strcmp(buf,"quit")==0){
              break;
          }
          a.msend(buf);
          a.receive();

      }
      a.close();
      WSACleanup();
      return 0;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -