|
|
|
@ -5,12 +5,6 @@ |
|
|
|
|
|
|
|
#include "rpc_transport.h" |
|
|
|
|
|
|
|
// 调试测试代码
|
|
|
|
void debug_test_struct_definition() { |
|
|
|
rpc_server_t server; |
|
|
|
server.address.sin_family = AF_INET; // 测试访问address成员
|
|
|
|
} |
|
|
|
|
|
|
|
#ifdef _WIN32 |
|
|
|
|
|
|
|
/*
|
|
|
|
@ -35,6 +29,7 @@ void rpc_winsock_cleanup() { |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
#ifdef _WIN32 |
|
|
|
/*
|
|
|
|
* Windows平台的错误打印函数 |
|
|
|
*/ |
|
|
|
@ -101,7 +96,9 @@ int rpc_server_init(rpc_server_t* server, const char* host, uint16_t port, int b |
|
|
|
server->address.sin_port = htons(port); |
|
|
|
|
|
|
|
// 绑定地址到套接字
|
|
|
|
if (bind(server->server_fd, (struct sockaddr*)&server->address, sizeof(server->address)) != 0) { |
|
|
|
struct sockaddr_in* addr_ptr = &server->address; |
|
|
|
int addr_len = sizeof(server->address); |
|
|
|
if (bind(server->server_fd, (struct sockaddr*)addr_ptr, addr_len) != 0) { |
|
|
|
PRINT_ERROR("bind failed"); |
|
|
|
CLOSE_SOCKET(server->server_fd); |
|
|
|
return RPC_NET_ERROR; |
|
|
|
@ -244,22 +241,16 @@ int rpc_client_init(rpc_transport_t* transport, const char* server_host, uint16_ |
|
|
|
|
|
|
|
// 连接到服务器
|
|
|
|
|
|
|
|
if (connect(transport->socket_fd, (struct sockaddr*)&transport->address, sizeof(transport->address)) != 0) { |
|
|
|
|
|
|
|
struct sockaddr_in* conn_addr_ptr = &transport->address; |
|
|
|
int conn_addr_len = sizeof(transport->address); |
|
|
|
if (connect(transport->socket_fd, (struct sockaddr*)conn_addr_ptr, conn_addr_len) != 0) { |
|
|
|
PRINT_ERROR("connection failed"); |
|
|
|
|
|
|
|
CLOSE_SOCKET(transport->socket_fd); |
|
|
|
|
|
|
|
return RPC_NET_ERROR; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
printf("Connected to server %s:%d\n", server_host, server_port); |
|
|
|
|
|
|
|
return RPC_SUCCESS; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|