C++ 服務端開發 libuv學習
入門
libuv 的使用
參照征服優雅、高效的Libuv庫
最簡單的服務端(官方demo)
#include "Test/ProtocolTest.h"
#include <uv.h>
#define DEFAULT_PORT 19999
void on_new_connection(uv_stream_t* server, int status) {
printf("dasjldjl");
}
int main(){
uv_loop_t* loop = uv_default_loop();
uv_tcp_t server;
uv_tcp_init(loop, &server);
sockaddr_in addr;
uv_ip4_addr("0.0.0.0", DEFAULT_PORT,&addr);
uv_tcp_bind(&server, (const struct sockaddr*)&addr, 0);
int r = uv_listen((uv_stream_t*)&server, 128, on_new_connection);
if (r) {
fprintf(stderr, "Listen error %s\n", uv_strerror(r));
return 1;
}
return uv_run(loop, UV_RUN_DEFAULT);
}
最簡單的用戶端(官方demo)
#include <iostream>
#include <uv.h>
#define DEFAULT_PORT 19999
void on_new_connection(uv_connect_t* req, int status) {}
int main() {
uv_loop_t* loop = uv_default_loop();
uv_tcp_t socket;
uv_tcp_init(loop, &socket);
uv_connect_t connect;
sockaddr_in addr;
uv_ip4_addr("127.0.0.1", DEFAULT_PORT, &addr);
uv_tcp_connect(&connect, &socket, (const struct sockaddr*)&addr, on_new_connection);
}