📄 client.cpp
字号:
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
#include <netinet/in.h>#include <sys/types.h>#include <sys/socket.h>#include <signal.h>#include <arpa/inet.h>#include <time.h>#include <errno.h>#include <unistd.h>#include "client.h"Client::Client(string bip,int port){ CreateSocket(); ConnetServer(bip,port);}bool Client::CreateSocket(){ if((_sockID=socket(AF_INET,SOCK_STREAM,0))==-1) { perror("Socket Create error!"); return false; } cout<<"Socket Creat suncess!"<<endl; return true;}int Client::getSockID(){ return _sockID;}bool Client::ConnetServer(string serverip,int port){ struct sockaddr_in server; server.sin_family = AF_INET; int status = inet_pton ( AF_INET, serverip.c_str(), &server.sin_addr ); if ( errno == EAFNOSUPPORT ) return false; //server.sin_addr.s_addr= inet_addr(ip.c_str()); server.sin_port = htons(port); if(connect(_sockID , (struct sockaddr*)&server , sizeof( struct sockaddr ))<0) { perror("Connect error!"); return false; } cout <<"Connect" <<port << " Success!" <<endl; return true;}bool Client::SendMsg(int sockid, string msg){ int flag=0; if((flag=send(sockid, msg.c_str(), msg.length(), 0))== -1) perror("send error!"); return true;}bool Client::CloseSocket(int sockid){ close(sockid); return true;}string Client::RecvMsg(int sockid){ char buffer[10240]; string recvstr=""; memset(buffer,0,10240); int recvbytes=0; int recvnumber=0; while(1) { recvnumber = recv(sockid, buffer, sizeof(buffer), 0); recvbytes+=recvnumber; recvstr += buffer; cout<<recvbytes<<"recv bytes"<<endl; sleep(1); if(recvnumber==0||recvbytes>=37000) break; } cout<<"recv ok"<<endl; return recvstr;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -