Browse Source

修改适配win的代码

master
xyiege 4 months ago
parent
commit
e9b76a2582
  1. 19
      scalib/src/rpc_transport.c

19
scalib/src/rpc_transport.c

@ -89,20 +89,15 @@ int rpc_server_init(rpc_server_t* server, const char* host, uint16_t port, int b
return RPC_NET_ERROR;
}
// 设置服务器地址结构
memset(&server->address, 0, sizeof(server->address));
server->address.sin_family = AF_INET;
server->address.sin_addr.s_addr = inet_addr(host);
server->address.sin_port = htons(port);
// 设置服务器地址结构(使用局部变量,避免访问server->address)
struct sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr(host);
addr.sin_port = htons(port);
// 绑定地址到套接字
const struct sockaddr* addr_ptr = (const struct sockaddr*)&server->address;
int addr_len = sizeof(server->address);
#ifdef _WIN32
if (bind(server->server_fd, addr_ptr, addr_len) != 0) {
#else
if (bind(server->server_fd, addr_ptr, addr_len) != 0) {
#endif
if (bind(server->server_fd, (const struct sockaddr*)&addr, sizeof(addr)) != 0) {
PRINT_ERROR("bind failed");
CLOSE_SOCKET(server->server_fd);
return RPC_NET_ERROR;

Loading…
Cancel
Save