C++完成Connect连接数据的接口和测试

关于准备工作,请看上篇文章https://blog.csdn.net/wjl990316fddwjl/article/details/135357755

1、在LXMysql.h里面创建Connect连接函数

/数据库连接,先不考虑线程安全
 //unsigned short port 65535
//flag可以设置支持多条语句 默认为0;port=3306
bool Connect(const char*host,const char*user,const char* password,const char*database,unsigned short port=3306,unsigned short flag=0);

2、转到定义,写函数

bool LXMysql::Connect(const char* host, const char* user, const char* password, const char* database, unsigned short port, unsigned short flag)
	{

		//if (!Init())//防止内存泄露
		//{
		//	cerr << "Connect failed,mysql is not init!" << endl;
		//	return false;
		//}
		if (!mysql && Init())//防止内存泄露 这样写是因为写了超时那个
		{
			cerr << "Connect failed,mysql is not init!" << endl;
			return false;
		}

		if (!mysql_real_connect(mysql, host, user, password, database, port, 0, NULL))
		{
			cerr << "mysql_real_connect failed!" << mysql_error(mysql) << endl;
			return false;
		}
		cout << "mysql connect success!" << endl;
		return true;
	}

3、测试是否成功 

在test_LXMysql.cpp里面写

//2、mysql连接,如果没有调用init,内部会自动调用
    if (my.Connect("127.0.0.1", "root", "990107Wjl@", "database_test"))
    {
        cout << "my.connect success!" << endl;
    }

4、执行即可

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux C++中实现WebSocket数据接口接口调用需要依赖WebSocket库和HTTP库,下面以libwebsockets和libcurl为例进行说明。 1. 实现WebSocket数据接口 使用libwebsockets库可以方便地实现WebSocket数据接口。下面是一个简单的例子: ```c++ #include <libwebsockets.h> #include <iostream> // WebSocket回调函数 int callback_websocket(struct lws* wsi, enum lws_callback_reasons reason, void* user, void* in, size_t len) { switch (reason) { case LWS_CALLBACK_CLIENT_ESTABLISHED: std::cout << "WebSocket connection established" << std::endl; break; case LWS_CALLBACK_CLIENT_RECEIVE: std::cout << "Received data: " << std::string((char*)in, len) << std::endl; break; case LWS_CALLBACK_CLIENT_WRITEABLE: std::cout << "WebSocket writeable" << std::endl; break; case LWS_CALLBACK_CLOSED: std::cout << "WebSocket connection closed" << std::endl; break; } return 0; } int main() { struct lws_context_creation_info info; struct lws_client_connect_info connect_info; struct lws* wsi; const char* address = "ws://localhost:8080/path/to/endpoint"; memset(&info, 0, sizeof(info)); info.port = CONTEXT_PORT_NO_LISTEN; info.protocols = NULL; info.gid = -1; info.uid = -1; struct lws_context* context = lws_create_context(&info); if (!context) { std::cout << "Failed to create WebSocket context" << std::endl; return 1; } memset(&connect_info, 0, sizeof(connect_info)); connect_info.context = context; connect_info.address = address; connect_info.port = 0; connect_info.path = "/"; connect_info.host = lws_canonical_hostname(context); connect_info.origin = lws_canonical_hostname(context); connect_info.protocol = NULL; connect_info.ssl_connection = 0; wsi = lws_client_connect_via_info(&connect_info); if (!wsi) { std::cout << "Failed to create WebSocket connection" << std::endl; lws_context_destroy(context); return 1; } while (true) { lws_service(context, 0); } lws_context_destroy(context); return 0; } ``` 2. 实现接口调用 使用libcurl库可以方便地实现接口调用。下面是一个简单的例子: ```c++ #include <curl/curl.h> #include <iostream> // curl回调函数 size_t callback_curl(void* ptr, size_t size, size_t nmemb, void* user) { std::string* response = (std::string*)user; response->append((char*)ptr, size * nmemb); return size * nmemb; } int main() { CURL* curl; CURLcode res; std::string response; curl = curl_easy_init(); if (!curl) { std::cout << "Failed to create CURL handle" << std::endl; return 1; } curl_easy_setopt(curl, CURLOPT_URL, "http://localhost:8080/path/to/api"); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback_curl); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response); res = curl_easy_perform(curl); if (res != CURLE_OK) { std::cout << "curl_easy_perform() failed: " << curl_easy_strerror(res) << std::endl; curl_easy_cleanup(curl); return 1; } std::cout << "Response: " << response << std::endl; curl_easy_cleanup(curl); return 0; } ``` 需要注意的是,在实际使用中,需要根据具体的需求来设置各种选项和参数。上面的例子只是一个简单的示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值