|
@ -119,8 +119,17 @@ void ExtAPIService::initialize() { |
|
|
logger->info("\t{}: {}", it.first, it.second); |
|
|
logger->info("\t{}: {}", it.first, it.second); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
string chname = webSocket.getUrl().substr(1); |
|
|
|
|
|
WbesocketConnectMgrService::insertNewClient(chname, findws(&webSocket), make_shared<WebSocketConnectInfo>(connectionState->getRemoteIp())); |
|
|
|
|
|
|
|
|
string chname = webSocket.getUrl().substr(1); |
|
|
|
|
|
static int id; |
|
|
|
|
|
|
|
|
|
|
|
auto cinfo = make_shared<WebSocketConnectInfo>( //
|
|
|
|
|
|
msg->openInfo.uri, // url
|
|
|
|
|
|
connectionState->getRemoteIp(), // ip
|
|
|
|
|
|
chname, // chanme
|
|
|
|
|
|
fmt::format("{}{}({})", chname, id++, connectionState->getRemoteIp()) //
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
WbesocketConnectMgrService::insertNewClient(chname, findws(&webSocket), cinfo); |
|
|
} else if (msg->type == ix::WebSocketMessageType::Message) { |
|
|
} else if (msg->type == ix::WebSocketMessageType::Message) { |
|
|
string chname = webSocket.getUrl().substr(1); |
|
|
string chname = webSocket.getUrl().substr(1); |
|
|
auto channel = DataChannelMgr::findByChannel(chname); |
|
|
auto channel = DataChannelMgr::findByChannel(chname); |
|
@ -143,6 +152,8 @@ void ExtAPIService::initialize() { |
|
|
WbesocketConnectMgrService::findClientByName(fromch->getAlias(), clients); |
|
|
WbesocketConnectMgrService::findClientByName(fromch->getAlias(), clients); |
|
|
for (auto ch : clients) { |
|
|
for (auto ch : clients) { |
|
|
if (ch) { |
|
|
if (ch) { |
|
|
|
|
|
shared_ptr<WebSocketConnectInfo> cinfo = WbesocketConnectMgrService::findwsinfo(ch); |
|
|
|
|
|
|
|
|
WebSocketSendInfo sendInfo; |
|
|
WebSocketSendInfo sendInfo; |
|
|
if (binary) { |
|
|
if (binary) { |
|
|
sendInfo = ch->sendBinary(string(data, len)); |
|
|
sendInfo = ch->sendBinary(string(data, len)); |
|
@ -150,8 +161,10 @@ void ExtAPIService::initialize() { |
|
|
sendInfo = ch->sendText(string(data, len)); |
|
|
sendInfo = ch->sendText(string(data, len)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (!sendInfo.success) { |
|
|
|
|
|
logger->error("send data to client {} failed", (int64_t)ch.get()); |
|
|
|
|
|
|
|
|
if (sendInfo.success) { |
|
|
|
|
|
logger->debug("send data to client {} {} success", cinfo->getConnUniqueId(), binary ? StringUtils().bytesToString(data, len) : string(data, len)); |
|
|
|
|
|
} else { |
|
|
|
|
|
logger->error("send data to client {} failed", cinfo->getConnUniqueId()); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|