?? 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+1]='\0'; return msg;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -