📄 socket.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 + -