Skip to content

Commit 5ce3c3c

Browse files
committed
更新libuv到1.46.0调试器支持ipv6
1 parent 2b2485d commit 5ce3c3c

File tree

506 files changed

+31782
-16271
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

506 files changed

+31782
-16271
lines changed

CMakeLists.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@ cmake_minimum_required(VERSION 3.11)
22

33
project (emmy)
44

5-
if (NOT CMAKE_INSTALL_PREFIX)
6-
set(CMAKE_INSTALL_PREFIX install)
7-
endif()
8-
95
set(CMAKE_CXX_STANDARD 11)
106

117
set(EMMY_LUA_VERSION "54" CACHE STRING "Lua version: jit/51/52/53/54")
@@ -45,7 +41,7 @@ if(EMMY_USE_LUA_SOURCE)
4541
endif()
4642
endif()
4743

48-
add_subdirectory(third-party/libuv-1.29.0)
44+
add_subdirectory(third-party/libuv-1.46.0)
4945
add_subdirectory(emmy_debugger)
5046
add_subdirectory(emmy_core)
5147

emmy_debugger/src/transporter/socket_client_transporter.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,15 @@ int SocketClientTransporter::Stop() {
5656
}
5757

5858
bool SocketClientTransporter::Connect(const std::string& host, int port, std::string& err) {
59-
sockaddr_in addr{};
6059
uvClient.data = this;
6160
uv_tcp_init(loop, &uvClient);
62-
uv_ip4_addr(host.c_str(), port, &addr);
61+
struct sockaddr_storage addr;
62+
uv_ip6_addr(host.c_str(), port, (struct sockaddr_in6 *) &addr);// 尝试使用IPv6地址
63+
64+
if (addr.ss_family == AF_UNSPEC) {
65+
uv_ip4_addr(host.c_str(), port, (struct sockaddr_in *) &addr);// 如果失败,改用IPv4地址
66+
}
67+
6368
connect_req.data = this;
6469
const int r = uv_tcp_connect(&connect_req, &uvClient, reinterpret_cast<const struct sockaddr*>(&addr), OnConnectCB);
6570
if (r) {

emmy_debugger/src/transporter/socket_server_transporter.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,15 @@ SocketServerTransporter::~SocketServerTransporter() {
4646
}
4747

4848
bool SocketServerTransporter::Listen(const std::string& host, int port, std::string& err) {
49-
sockaddr_in addr{};
5049
uvServer.data = this;
5150
uv_tcp_init(loop, &uvServer);
52-
uv_ip4_addr(host.c_str(), port, &addr);
51+
struct sockaddr_storage addr;
52+
uv_ip6_addr(host.c_str(), port, (struct sockaddr_in6 *) &addr);// 尝试使用IPv6地址
53+
54+
if (addr.ss_family == AF_UNSPEC) {
55+
uv_ip4_addr(host.c_str(), port, (struct sockaddr_in *) &addr);// 如果失败,改用IPv4地址
56+
}
57+
5358
uv_tcp_bind(&uvServer, reinterpret_cast<const struct sockaddr*>(&addr), 0);
5459
const int r = uv_listen(reinterpret_cast<uv_stream_t*>(&uvServer), SOMAXCONN, on_new_connection);
5560
if (r) {

0 commit comments

Comments
 (0)