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

📄 client.cpp

📁 linux下实现对mysql数据库的连接及相关的插入、删除和查找工作。
💻 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 + -