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

📄 socket.cpp

📁 linux下的socket通信和c++
💻 CPP
字号:
#include "Socket.h"Socket::Socket(){  ser_ip=new char();  msg=new char();}Socket::Socket(Socket &s){  ser_ip=new char();  msg=new char();  sockfd=s.GetSockfd();}Socket::~Socket(){  delete[] ser_ip;  delete[] msg;}bool Socket::GetIP(const char* ip){  int len=strlen(ip);	if(len==0)  	return false;  else  {  	for(unsigned int i=0;i<strlen(ip);i++)    	ser_ip[i]=ip[i];       ser_ip[len]='\0';    cout<<ser_ip<<endl;   }   return true;}int Socket::SetSocket(){   if((host=gethostbyname(ser_ip))==NULL)     return 1;      if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)     return 2;        serv_addr.sin_family=AF_INET;   serv_addr.sin_port=htons(SERVPORT);   serv_addr.sin_addr=*((struct in_addr*)host->h_addr);   bzero(&(serv_addr.sin_zero),8);         if(connect(sockfd,(struct sockaddr*)&serv_addr,sizeof(struct sockaddr))==-1)     return 3;        return 0; }int Socket::GetSockfd(){	return sockfd;}void Socket::SendMsg(const char* msg){  if(send(sockfd,msg,strlen(msg)+1,0)==-1)  {    exit(1);  }}char* Socket::GetMsg(){  int recvbytes;  cout<<"Get new msg from server"<<endl;  if((recvbytes=recv(sockfd,msg,128,0))==-1)  {    close(sockfd);    exit(1);  }  msg[recvbytes]='\0';  return msg;}

⌨️ 快捷键说明

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