用webman+GatewayWorker搭建直播間聊天室,部分手機(jī)(10%左右)一直會(huì)重復(fù)連接,顯示1006錯(cuò)誤. 服務(wù)器使用的寶塔9.5.0,ssl使用的是: Encryption Everywhere DV TLS CA - G2 . 已安裝event擴(kuò)展.
wss配置文件:
location /wss {
proxy_pass http://127.0.0.1:7272;
proxy_http_version 1.1;
# 關(guān)鍵頭信息
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 避免緩存和延遲
proxy_buffering off;
proxy_request_buffering off;
# 適當(dāng)?shù)某瑫r(shí)時(shí)間
proxy_read_timeout 75s;
proxy_send_timeout 75s;
# WebSocket 連接關(guān)閉時(shí)立即釋放資源
proxy_ignore_client_abort on;
}
gateway配置文件:
'gateway' => [
'handler' => Gateway::class,
'listen' => 'websocket://0.0.0.0:7272',
// 'count' => 2,
'count' => cpu_count(),
'reloadable' => false,
'constructor' => ['config' => [
'lanIp' => '127.0.0.1',
'startPort' => 2300,
'pingInterval' => 35,
'pingNotResponseLimit' => 4, // 斷開(kāi)鏈接
'pingData' => '{"type":"ping"}',
'registerAddress' => '127.0.0.1:1236',
'onConnect' => function () {
},
]
]
]
部分php代碼:
<?php
namespace plugin\webman\gateway;
use GatewayWorker\Lib\Gateway;
use support\Log;
use support\Redis;
use think\facade\Db;
use function Sodium\add;
class Events
{
public static function onWorkerStart($worker)
{
}
public static function onConnect($client_id)
{
}
public static function onWebSocketConnect($client_id, $data)
{
$getData = $data['get'];
$request_id = $data['rid'] ?? 0;
try {
// 1. 校驗(yàn) token 是否存在
if (empty($getData['token'])) {
Gateway::closeClient($client_id, json_encode(['msg' => '沒(méi)有用戶TOKEN信息']));
return;
}
// 2. 解析 userId
$userId = self::getUserId($getData['token']);
if (is_string($userId)) {
Gateway::closeClient($client_id, json_encode(['msg' => '賬號(hào)信息錯(cuò)誤,請(qǐng)重新登錄']));
return;
}
// 3. 安全綁定 UID(確保先解綁避免重復(fù))
Gateway::bindUid($client_id, $userId);
$_SESSION['uid'] = $userId;
// 4. 獲取已綁定的連接
$clientUidArr = Gateway::getClientIdByUid($userId);
if (count($clientUidArr) > 1) {
// 表示還存在其他連接,斷開(kāi)他們
foreach ($clientUidArr as $t_client_id) {
if ($t_client_id !== $client_id) {
Log::info("異地登錄踢出舊連接: {$t_client_id}, 當(dāng)前連接: {$client_id}");
// Gateway::closeClient($t_client_id, json_encode(['msg' => '當(dāng)前賬號(hào)已在其他地方登錄!']));
}
}
}
// 5. 回復(fù)前端連接成功
send($client_id, MsgType::LOGIN, $request_id, '連接成功', ['client_id' => $client_id]);
} catch (\Throwable $e) {
Gateway::closeClient($client_id, json_encode(['msg' => '連接失敗,請(qǐng)重試']));
}
}
public static function onMessage($client_id, $message)
{
$message = json_decode($message, true);
$data = $message['data'] ?? [];
$request_id = $message['rid'] ?? 0;
switch ($message['type']) {
case MsgType::JOIN_ROOM: // 加入房間
try {
$room_id = $data['room_id'] ?? 0;
if ($room_id > 0) {
// 加入房間
Gateway::joinGroup($client_id, $room_id);
$userId = Gateway::getUidByClientId($client_id);
#推送房間人數(shù)
self::send_room_numbers($room_id, $userId, $nickName, MsgType::JOIN_ROOM);
} else {
Log::error("用戶加入房間失?。簕$room_id}");
}
#回復(fù)
//send($client_id, MsgType::JOIN_ROOM, $request_id);
} catch (\Throwable $e) {
addDebug(1, getExceptionInfo($e));
}
break;
case MsgType::OUT_ROOM: // 離開(kāi)房間
$room_id = $data['room_id'] ?? 0;
if ($room_id > 0) {
// 離開(kāi)房間
Gateway::leaveGroup($client_id, $room_id);
} else {
Log::error("用戶離開(kāi)房間失?。簕$room_id}");
}
#回復(fù)
// send($client_id, MsgType::OUT_ROOM, $request_id);
break;
case MsgType::SEND_ROOM_MSG:
$room_id = $data['room_id'] ?? 0;
$data['user_id'] = Gateway::getUidByClientId($client_id);
// 向房間廣播
send_to_group($room_id, MsgType::SEND_ROOM_MSG, $data);
break;
case MsgType::PING:
send($client_id, MsgType::PONG, $request_id, '請(qǐng)求成功', $message);
break;
default:
send($client_id, MsgType::ERROR, $request_id, '請(qǐng)求成功', $message);
break;
}
}
public static function onClose($client_id)
{
//更改用戶為離線狀態(tài)
$userId = $_SESSION['uid'] ?? null; //todo 這里使用 Gateway::getUidByClientId() 是獲取不到uid的,所以只能使用session
if ($userId) {
\think\facade\Db::table("user")->where('id', $userId)->update([
'is_online' => 0,
'offline_time' => time()
]);
$join_room_id = UserRedis::getMetaValue($userId, 'join_room_id');
try {
if (is_numeric($join_room_id)) {
}
} catch (\Throwable $e) {
}
}
}
}
內(nèi)核優(yōu)化參數(shù):
# 下面是修改的數(shù)據(jù)
#該參數(shù)設(shè)置系統(tǒng)的TIME_WAIT的數(shù)量,如果超過(guò)默認(rèn)值則會(huì)被立即清除
net.ipv4.tcp_max_tw_buckets = 20000
#定義了系統(tǒng)中每一個(gè)端口最大的監(jiān)聽(tīng)隊(duì)列的長(zhǎng)度,這是個(gè)全局的參數(shù)
net.core.somaxconn = 65535
#對(duì)于還未獲得對(duì)方確認(rèn)的連接請(qǐng)求,可保存在隊(duì)列中的最大數(shù)目
net.ipv4.tcp_max_syn_backlog = 262144
#在每個(gè)網(wǎng)絡(luò)接口接收數(shù)據(jù)包的速率比內(nèi)核處理這些包的速率快時(shí),允許送到隊(duì)列的數(shù)據(jù)包的最大數(shù)目
net.core.netdev_max_backlog = 30000
#此選項(xiàng)會(huì)導(dǎo)致處于NAT網(wǎng)絡(luò)的客戶端超時(shí),建議為0。Linux從4.12內(nèi)核開(kāi)始移除了 tcp_tw_recycle 配置,如果報(bào)錯(cuò)"No such file or directory"請(qǐng)忽略
net.ipv4.tcp_tw_recycle = 0
#系統(tǒng)所有進(jìn)程一共可以打開(kāi)的文件數(shù)量
fs.file-max = 6815744
#防火墻跟蹤表的大小。注意:如果防火墻沒(méi)開(kāi)則會(huì)提示error: "net.netfilter.nf_conntrack_max" is an unknown key,忽略即可
net.netfilter.nf_conntrack_max = 2621440
net.ipv4.ip_local_port_range = 10240 65000
90%的設(shè)備是沒(méi)問(wèn)題的,但是有10%的設(shè)備一直在重復(fù)連接,以下是手機(jī)名稱、系統(tǒng)、版本:
2107119DC-android-14
21091116C-android-12
22041216C-android-13
22095RA98C-android-14
23013RK75C-android-14
23124RN87C-android-15
2312DRAABC-android-13
24069RA21C-android-14
24129RT7CC-android-15
ALI-AN00-android-15
ALT-AN00-android-14
ANA-AN00-android-12
ANN-AN00-android-15
BNE-AL00-android-12
CLK-AN00-android-14
CMA-AN00-android-11
CMA-AN40-android-11
COL-AL10-android-10
CTR-AL20-android-12
GAR-AN60-android-11
GFY-AL00-android-12
GOA-AL80-android-12
HJC-AN90-android-10
iPhone-ios-13.6
iPhone-ios-15.4.1
iPhone-ios-17.6.1
iPhone-ios-18.5
JAT-TL00-android-9
系統(tǒng)是: Debian 12
"php": ">=8.1",
"workerman/webman-framework": "^2.1",
"monolog/monolog": "^2.0",
"webman/redis": "^2.1",
"illuminate/events": "^12.9",
"webman/cache": "^2.1",
"webman/think-orm": "^2.1",
"webman/redis-queue": "^2.1",
"topthink/think-template": "^3.0",
"vlucas/phpdotenv": "^5.6",
"workerman/crontab": "^1.0",
"symfony/var-dumper": "^7.2",
"webman/captcha": "^1.0",
"next/var-dumper": "^0.1.1",
"webman/rate-limiter": "^1.1",
"webman/console": "^2.1",
"yansongda/pay": "~3.7.0",
"guzzlehttp/guzzle": "^7.9",
"webman/gateway-worker": "^1.0",
"maniac/easemob-php": "^1.0",
"ext-bcmath": "*",
"zoujingli/ip2region": "^2.0",
"shopwwi/webman-filesystem": "^2.0",
"iidestiny/flysystem-oss": "^4"
有沒(méi)有大佬幫分析下是什么問(wèn)題或者怎么排查
---------------------------------------------------GLOBAL STATUS---------------------------------------------------------
Workerman/5.1.1 PHP/8.2.28 (Jit off) Linux/6.1.0-31-amd64
start time:2025-06-04 15:27:09 run 0 days 0 hours load average: 0.02, 0.03, 0
7 workers 25 processes
name event-loop exit_status exit_count
webman event 0 0
monitor event 0 0
task event 0 0
plugin.webman.gateway-worker.gateway event 0 0
plugin.webman.gateway-worker.worker event 0 0
plugin.webman.gateway-worker.register event 0 0
plugin.webman.redis-queue.consumer event 0 0
---------------------------------------------------PROCESS STATUS--------------------------------------------------------
pid memory listening name connections send_fail timers total_request qps status
252490 3.87M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle]
252491 3.87M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle]
252492 3.87M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle]
252493 3.87M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle]
252494 3.87M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle]
252495 3.87M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle]
252496 3.87M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle]
252497 3.87M http://0.0.0.0:8787 webman 0 0 1 0 0 [idle]
252499 3.9M none monitor 0 0 2 0 0 [idle]
252501 4.01M none task 0 0 2 0 0 [idle]
252502 4.19M websocket://0.0.0.0:7272 plugin.webman.gateway-worker.gateway 5 0 2 4 0 [idle]
252503 4.19M websocket://0.0.0.0:7272 plugin.webman.gateway-worker.gateway 5 0 2 4 0 [idle]
252504 4.28M none plugin.webman.gateway-worker.worker 3 0 1 1 0 [idle]
252506 4.28M none plugin.webman.gateway-worker.worker 3 0 1 1 0 [idle]
252510 4.28M none plugin.webman.gateway-worker.worker 3 0 1 3 0 [idle]
252512 4.28M none plugin.webman.gateway-worker.worker 3 0 1 3 0 [idle]
252513 4M text://127.0.0.1:1236 plugin.webman.gateway-worker.register 6 0 1 6 0 [idle]
252515 4.19M none plugin.webman.redis-queue.consumer 2 0 4 10 0 [idle]
252517 4.19M none plugin.webman.redis-queue.consumer 2 0 4 10 0 [idle]
252523 4.19M none plugin.webman.redis-queue.consumer 2 0 4 10 0 [idle]
252524 4.19M none plugin.webman.redis-queue.consumer 2 0 4 10 0 [idle]
252528 4.19M none plugin.webman.redis-queue.consumer 2 0 4 10 0 [idle]
252534 4.19M none plugin.webman.redis-queue.consumer 2 0 4 10 0 [idle]
252538 4.19M none plugin.webman.redis-queue.consumer 2 0 4 10 0 [idle]
252544 4.19M none plugin.webman.redis-queue.consumer 2 0 4 10 0 [idle]
---------------------------------------------------PROCESS STATUS--------------------------------------------------------
Summary 101.89M - - 44 0 53 102 0 [Summary]
先登錄服務(wù)器執(zhí)行 ulimit -n
看看打開(kāi)文件數(shù)是否是默認(rèn)的 1024
。WebSocket
屬于長(zhǎng)連接,每個(gè)連接都會(huì)占用文件描述符,如果你沒(méi)提升 ulimit
,那么 90%
的設(shè)備連接后可能已經(jīng)耗盡文件描述符,后面那 10%
的設(shè)備就會(huì)不斷重連、斷開(kāi),顯示 1006
。
以上是我覺(jué)得最有可能的原因,當(dāng)然也可能是你的 CPU
和內(nèi)存耗盡了,更坑一點(diǎn)是有可能是 SSL
證書(shū)的問(wèn)題。
您好,ulimit -n 顯示 65535, 每次大概有500連接數(shù),可能有40個(gè)左右一直重復(fù)連接! 服務(wù)端監(jiān)控負(fù)載20以下
我開(kāi)始也以為是免費(fèi)的 Let's Encrypt 證書(shū)問(wèn)題,更換了阿里云的個(gè)人測(cè)試證書(shū) DigiCert 也一樣
root@iZ2vcfdb5c1vjgnwubqtk2Z:/www/wwwroot/8.156.70.60# whoami
root
root@iZ2vcfdb5c1vjgnwubqtk2Z:/www/wwwroot/8.156.70.60# ps aux | grep webman
root 101037 0.0 0.7 96216 27144 ? S May26 5:55 WorkerMan: worker process plugin.webman.gateway-worker.gateway websocket://0.0.0.0:7272
root 101041 0.0 0.7 96216 27300 ? S May26 4:52 WorkerMan: worker process plugin.webman.gateway-worker.gateway websocket://0.0.0.0:7272
root 101058 0.0 0.5 92120 21744 ? S May26 0:02 WorkerMan: worker process plugin.webman.gateway-worker.register text://127.0.0.1:1236
root 231438 0.0 1.2 107404 44100 ? S 11:42 0:10 WorkerMan: worker process webman http://0.0.0.0:8787
root 231442 0.0 1.2 107408 44136 ? S 11:42 0:11 WorkerMan: worker process webman http://0.0.0.0:8787
root 231446 0.0 1.2 109452 46428 ? S 11:42 0:13 WorkerMan: worker process webman http://0.0.0.0:8787
root 231450 0.0 1.2 109456 46860 ? S 11:42 0:09 WorkerMan: worker process webman http://0.0.0.0:8787
root 231454 0.0 1.2 109460 46332 ? S 11:42 0:10 WorkerMan: worker process webman http://0.0.0.0:8787
root 231458 0.0 1.2 107384 44724 ? S 11:42 0:12 WorkerMan: worker process webman http://0.0.0.0:8787
root 231462 0.0 1.2 109448 47020 ? S 11:42 0:16 WorkerMan: worker process webman http://0.0.0.0:8787
root 231464 0.0 1.2 109432 46988 ? S 11:42 0:14 WorkerMan: worker process
負(fù)載20以下不太對(duì),一般業(yè)務(wù)500連接負(fù)載應(yīng)該基本為0才對(duì)。
下次出現(xiàn)這個(gè)問(wèn)題的時(shí)候,執(zhí)行命令
top
找到cpu高的進(jìn)程pid,很可能是gateway進(jìn)程,執(zhí)行命令
strace -ttp pid
看下進(jìn)程的系統(tǒng)調(diào)用,可能你的內(nèi)核沒(méi)優(yōu)化好,每個(gè)進(jìn)程限制了做多打開(kāi)256個(gè)描述符。
我在 /etc/security/limits.conf 設(shè)置了
========================
運(yùn)行 cat /proc/xxxxx/limits | grep "Max open files" 顯示都是 65535.
大佬還有什么可能性,我再去一一排查,找不到問(wèn)題了??
102673 root 20 0 144260 31036 15196 S 0.7 0.9 71:35.10 AliYunDunMonito
138538 www 20 0 355580 206792 8616 S 0.7 5.7 12:59.72 nginx
246960 root 20 0 107480 45128 16664 S 0.7 1.2 0:04.17 php
1643 mysql 20 0 1672844 365736 20548 S 0.3 10.0 9:34.42 mysqld
1694 root 20 0 307496 120832 28016 S 0.3 3.3 4:05.70 BT-Panel
3287 redis 20 0 163244 20788 4808 S 0.3 0.6 62:06.64 redis-server
101037 root 20 0 96216 27144 10000 S 0.3 0.7 6:01.17 php
101041 root 20 0 96216 27300 10156 S 0.3 0.7 4:57.07 php
102635 root 20 0 97500 16176 8856 S 0.3 0.4 46:37.57 AliYunDun
246938 root 20 0 105356 41692 15508 S 0.3 1.1 0:03.00 php
246974 root 20 0 96232 28052 10928 S 0.3 0.8 0:01.07 php
246978 root 20 0 96232 28052 10928 S 0.3 0.8 0:01.15 php
250193 root 20 0 0 0 0 I 0.3 0.0 0:00.01 kworker/u4:2-writeback
1 root 20 0 169116 13784 9180 S 0.0 0.4 0:27.47 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.12 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
5 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 slub_flushwq
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns
8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-events_highpri
10 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
11 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_kthread
12 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_rude_kthread
13 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_trace_kthread
14 root 20 0 0 0 0 S 0.0 0.0 0:10.30 ksoftirqd/0
15 root 20 0 0 0 0 I 0.0 0.0 2:19.62 rcu_preempt
12:43:31.979502 write(346, "\27\3\3\0\2260\310\321\r\21g \201\271\246\312\t}\22\267\306\373\324\r \313\257\e\247P\357"..., 155) = 155
12:43:31.979590 recvfrom(514, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.979645 write(40, "\27\3\3\0\226\2749\244\215\303\34\6,\26\27\377\17M6\372\276O\20\17\225\304\201u\221\312\23\t"..., 155) = 155
12:43:31.979697 recvfrom(478, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.979759 write(195, "\27\3\3\0\226\263\232\247\267\305\347&w\222\203\205\333\3542\211\305\20u\263U~\266\263\376\340}@"..., 155) = 155
12:43:31.979816 recvfrom(422, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.979872 write(225, "\27\3\3\0\226\267\321\376\354/n;\t\355\356\321L\374F\327\256\247\275\f\244\342\334\233C\20\317"..., 155) = 155 12:43:31.979922 recvfrom(622, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.980041 write(621, "\27\3\3\0\226C\340\252\23\347\252\254W,\302\262\354\357\367\216\367\221\200g\334\354dE\235\323\373\n"..., 155) = 155 12:43:31.980089 recvfrom(342, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.980140 write(326, "\27\3\3\0\226\256y>C\t\2^@\r+\261\26X\366\254\35\t'(Bw\254\210V\273\356\263"..., 155) = 155 12:43:31.980193 recvfrom(534, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.980247 write(285, "\27\3\3\0\226Lz8\366\f\233\212r\315\301~)3\240\247\177\221\20D\205(J\3\2345\v\310"..., 155) = 155 12:43:31.980298 recvfrom(452, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.980373 write(90, "\27\3\3\0\226]\361X6O$\23\357\fd\370\354\310t\253\10\332\3\250\254]\276\22\4\301]\373"..., 155) = 155 12:43:31.980423 recvfrom(420, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.980488 write(400, "\27\3\3\0\226\337s\207\325\250\321\243.\310\2657\226\7\33c\346\354\203p\27\2535\276
f\241F"..., 155) = 155
12:43:31.980538 recvfrom(548, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.980591 write(471, "\27\3\3\0\226f\35chO\3779\35\365\2642c,6>.\334'\252\31t\33\363W\n\25"..., 155) = 155 12:43:31.980651 recvfrom(361, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.980709 write(358, "\27\3\3\0\226BP\225A\317\233\372?\337\3634\30\345\344m\265\310\217\277\262\201\263\r\307\353\325#"..., 155) = 155 12:43:31.980769 recvfrom(661, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.980823 write(660, "\27\3\3\0\226\256\346\337C,\3\334\232\230\272\236d\203\320\372\325\31\273n\376S\236\327M(4n"..., 155) = 155 12:43:31.980874 recvfrom(528, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.980942 write(226, "\27\3\3\0\226:I\30I.\7\0\34\303\216H\f\262\204\0\312 \26\363\221\256\243\377\257\2170\207"..., 155) = 155 12:43:31.980991 recvfrom(685, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.981041 write(684, "\27\3\3\0\226rn\341\357$$\267\376\344\35\373\330\16\352\0\201'\201\305\351\0336\372\1\262n\313"..., 155) = 155 12:43:31.981089 recvfrom(679, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.981202 write(676, "\27\3\3\0\226\6\317\217K\345\223\4\334\235\333\32(T\237\231D\3334#\303\350\270\325G\250BJ"..., 155) = 155 12:43:31.981257 recvfrom(256, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.981326 write(158, "\27\3\3\0\226\306 Y\277g\370\374\252\321mT.\2544
,</\350\276\205\266z\364\332W\266"..., 155) = 155
12:43:31.981378 recvfrom(426, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.981428 write(277, "\27\3\3\0\226\316F\37M\331k\365s\221G$\327\306R\202\212\363\275\205\32\302\234\354va)\201"..., 155) = 155
12:43:31.981477 recvfrom(260, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.981529 write(217, "\27\3\3\0\226\364V&c\353\246\0\347\216\353\343\376\334\3635koe|\322\340o\343\305\232\31\253"..., 155) = 155
12:43:31.981579 recvfrom(297, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.981627 write(287, "\27\3\3\0\226\250k\344)\17\235\350&\347\224\301dfJS|\272bK#\201t]\343>\211\364"..., 155) = 155
12:43:31.981675 recvfrom(540, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.981735 write(496, "\27\3\3\0\226\7\375c\201\35\1\216\0\340D'\377\260\354\267@s$\346\16\260\255\253\233O\1"..., 155) = 155 12:43:31.981783 recvfrom(532, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.981847 write(529, "\27\3\3\0\226\365\367\253x\224\214\20\210I$L'm\t\312\304Q<\352Hj\10a\252T\236j"..., 155) = 155 12:43:31.981905 recvfrom(251, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.981958 write(148, "\27\3\3\0\226\235\363\232\356D\340\214J\350n\350\200fM\320\253 \211\301j
o\263(|\273\220"..., 155) = 155
12:43:31.982008 recvfrom(519, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.982059 write(463, "\27\3\3\0\226\244R\361\27D\266\377S!\376N\342\210\364jSU\344\231F\30\373\5\251]\4\264"..., 155) = 155
12:43:31.982107 recvfrom(418, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.982156 write(289, "\27\3\3\0\226]\3076\313\237\20|\206\322}b\364\307!j9\231\308\376\7\207L\3666\245\257"..., 155) = 155
12:43:31.982213 recvfrom(561, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.982276 write(554, "\27\3\3\0\226\353#\tf\6Ki\271\25\202\322\350!J\274=\7[\20\374\224MP~\v\7\334"..., 155) = 155
12:43:31.982336 recvfrom(522, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.982399 write(304, "\27\3\3\0\226(&\350\370Jk\2F\253P\214\236n\213K\30\205\235M\303\353o\326\246^>"..., 155) = 155
12:43:31.982448 recvfrom(652, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.982500 write(324, "\27\3\3\0\226\221\361\253\2\372\313\252+\237\v\0255x\\6\346\226=9\355\211-n9\275\334\233"..., 155) = 155
12:43:31.982547 recvfrom(188, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.982598 write(170, "\27\3\3\0\226N\59\356\1\33\272@\254\33F\366\305drkm\260\225\2044d\334\v\20h\227"..., 155) = 155
12:43:31.982645 recvfrom(189, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.982694 write(146, "\27\3\3\0\226SH7\220\356\265\211\2616\220Z\317R\302Ime\250,|<3_\370\300\374\225"..., 155) = 155
12:43:31.982754 recvfrom(244, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.982807 write(164, "\27\3\3\0\226_K[\250\0\361\206[\276\271,\310~\253\20SY\2P[\310i.\210\353N\320"..., 155) = 155
12:43:31.982855 recvfrom(372, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.982930 write(246, "\27\3\3\0\226vo\353\306\311\224\3206\370\340\237\333>\312\33o\36\230\207]\267\364\337\3742s\302"..., 155) = 155
12:43:31.983007 recvfrom(215, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.983064 write(82, "\27\3\3\0\226n\221\232\275\355X\214\372KW\343\266\24\307\2764D\241e\362\253\0\315\217\360l\26"..., 155) = 155
12:43:31.983126 recvfrom(311, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.983170 write(310, "\27\3\3\0\226\223\343\221\234M8\241\220\177\7X\234\345\314\1\270/\321\301n\366\301\324\21[:"..., 155) = 155
12:43:31.983217 recvfrom(669, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.983267 write(606, "\27\3\3\0\226\363bq\257\7\36\3636\347\27\206}\214g\240q\326Z\263m\356\6P\3\260l\315"..., 155) = 155
12:43:31.983315 recvfrom(202, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133
12:43:31.983365 write(138, "\27\3\3\0\226\36\374<[Q\247\245\371\362#\341\220\260\257)\35\"\267\222\272\240\326\2349\332'"..., 155) = 155 12:43:31.983417 recvfrom(695, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.983468 write(441, "\27\3\3\0\226\266~\313\370\302q\263\361\235\374\327\302{\211\232\264l\25\237n\377\t\350\227L\201\f"..., 155) = 155 12:43:31.983515 recvfrom(199, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.983567 write(145, "\27\3\3\0\226\7:\305\31\250\373\320O\226\240ra\303'\331\335\351u\346L}\22\203\373\30\203="..., 155) = 155 12:43:31.983615 recvfrom(172, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.983666 write(88, "\27\3\3\0\226,>Dc\3362 \2213X_\2\315\24Po@\220\32\333\252\315\352*\336;\312"..., 155) = 155 12:43:31.983715 recvfrom(533, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.983776 write(506, "\27\3\3\0\226\350\344ey\252\3076\2036[\33\245\17\36\207\234h\335LUwPHTR\253\257"..., 155) = 155 12:43:31.983825 recvfrom(475, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.983880 write(253, "\27\3\3\0\226Z/\333\334a\316\361\nv\rHH\215\362\201%\315Q\334\204\35\331\264<\221;\377"..., 155) = 155 12:43:31.983927 recvfrom(570, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.983978 write(497, "\27\3\3\0\226Y\33\"\364\322\21\"!\272\25\343T\205\217SA/\373x<\353\3709m\271\f\314"..., 155) = 155 12:43:31.984027 recvfrom(96, "\201~\0\201{\"type\":\"join_room\",\"rid\":0,"..., 32768, 0, NULL, NULL) = 133 12:43:31.984076 write(41, "\27\3\3\0\226\24\324\271\276\t\304\300\33\253\1n5~m\216\361P\226\5\210\236+\235\305m\201%"..., 155) = 155 12:43:31.984124 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490828464, u64=140231173042864}}], 512, 827) = 1 12:43:32.019194 read(672, "\27\3\3\0&\303[\37a\232\276E\0037\371\365\265\"\210\262LKyC\36F\254\237!jg\16"..., 16709) = 43 12:43:32.019273 read(672, 0x7f8a13bae403, 16709) = -1 EAGAIN (Resource temporarily unavailable) 12:43:32.019344 sendto(675, "\201\217d\261\227\247\37\223\343\336\24\324\265\235F\301\376\311\3\223\352", 21, 0, NULL, 0) = 21 12:43:32.019428 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490956865, u64=140231173171265}}], 512, 782) = 1 12:43:32.020000 recvfrom(675, "\201E{\"type\":\"pong\",\"rid\":\"0\",\"msg\""..., 32768, 0, NULL, NULL) = 71 12:43:32.020096 write(672, "\27\3\3\0X\341,\271\357\300\5\277\311%w2\232\264\34\265\6\370\30\362\271\247\f,\242\271\257\251"..., 93) = 93 12:43:32.020165 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490794625, u64=140231173009025}}], 512, 782) = 1 12:43:32.226456 read(294, "\27\3\3\0&0\320\367'!V\351\266\355f\236\341xg?\10\365j\342\n\304\367\311#\317J\201"..., 16709) = 43 12:43:32.226541 read(294, 0x7f8a13bae403, 16709) = -1 EAGAIN (Resource temporarily unavailable) 12:43:32.226591 sendto(296, "\201\217W\302)\320,\340]\251'\247\v\352u\262@\2760\340T", 21, 0, NULL, 0) = 21 12:43:32.226853 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490851505, u64=140231173065905}}], 512, 575) = 1 12:43:32.227169 recvfrom(296, "\201E{\"type\":\"pong\",\"rid\":\"0\",\"msg\""..., 32768, 0, NULL, NULL) = 71 12:43:32.227250 write(294, "\27\3\3\0X^\355\274\274\31\273V\200i\370j\346\337\377%\220\36\236\237\244E\254\274\211\260\271\302"..., 93) = 93 12:43:32.227306 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490856065, u64=140231173070465}}], 512, 574) = 1 12:43:32.242916 read(304, "\27\3\3\0&\262\236\314\330\365\370\371\21\225\246\3424H0J\361\337\2475r\231\340\320\247\343X\254"..., 16709) = 43 12:43:32.243056 read(304, 0x7f8a13bae403, 16709) = -1 EAGAIN (Resource temporarily unavailable) 12:43:32.243129 sendto(522, "\201\217\372\7X\273\201%,\302\212bz\201\330w1\325\235%%", 21, 0, NULL, 0) = 21 12:43:32.243348 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490804225, u64=140231173018625}}], 512, 559) = 1 12:43:32.243929 recvfrom(522, "\201E{\"type\":\"pong\",\"rid\":\"0\",\"msg\""..., 32768, 0, NULL, NULL) = 71 12:43:32.244080 write(304, "\27\3\3\0X\24\31KO4e\1\26\332\30\201!\266X\f\7,\314\250\"\335\1\346\220/e\251"..., 93) = 93 12:43:32.244212 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490917504, u64=140231173131904}}], 512, 558) = 1 12:43:32.301106 read(174, "\27\3\3\0&\267S\232B\372\256\366\322M\203Mqfze1\211i\4h\327Qt\2552\372\356"..., 16709) = 43 12:43:32.301263 read(174, 0x7f8a13bae403, 16709) = -1 EAGAIN (Resource temporarily unavailable) 12:43:32.301368 sendto(184, "\201\217\3335/\230\240\27[\341\253P\r\242\371EF\366\274\27R", 21, 0, NULL, 0) = 21 12:43:32.301895 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490851745, u64=140231173066145}}], 512, 500) = 1 12:43:32.301963 recvfrom(184, "\201E{\"type\":\"pong\",\"rid\":\"0\",\"msg\""..., 32768, 0, NULL, NULL) = 71 12:43:32.302094 write(174, "\27\3\3\0XX\364\315\257\361Y,\17$Dc}
Y\1\236\324\231B\236\f\26/\304?!"..., 93) = 93 12:43:32.302196 epoll_wait(11, [{events=EPOLLIN, data={u32=490734624, u64=140231172949024}}], 512, 500) = 1 12:43:32.327504 accept4(15, {sa_family=AF_INET, sin_port=htons(6464), sin_addr=inet_addr("117.139.242.233")}, [112 => 16], SOCK_NONBLOCK) = 111 12:43:32.327673 epoll_ctl(11, EPOLL_CTL_ADD, 111, {events=EPOLLIN|EPOLLRDHUP|EPOLLET, data={u32=490942945, u64=140231173157345}}) = 0 12:43:32.327747 accept4(15, 0x7fff7a911600, [112], SOCK_NONBLOCK) = -1 EAGAIN (Resource temporarily unavailable) 12:43:32.327819 epoll_wait(11, [{events=EPOLLIN, data={u32=490942945, u64=140231173157345}}], 512, 474) = 1 12:43:32.330565 recvfrom(111, "\26", 1, MSG_PEEK, NULL, NULL) = 1 12:43:32.330695 setsockopt(111, SOL_TCP, TCP_NODELAY, [1], 4) = 0 12:43:32.330822 read(111, "\26\3\1\6\271\1\0\6\265\3\3\334\"^\236(\24y\231\270\217y\221|\242\236|+\322\310\356\215"..., 16709) = 1440 12:43:32.330921 read(111, 0x7f8a13bae9a3, 286) = -1 EAGAIN (Resource temporarily unavailable) 12:43:32.331014 epoll_wait(11, [{events=EPOLLIN, data={u32=490942945, u64=140231173157345}}], 512, 471) = 1 12:43:32.331516 read(111, "|\1\273\363a\0+\0\7\6jj\3\4\3\3\0\27\0\0\0\20\0\16\0\f\2h2\10ht"..., 286) = 286 12:43:32.331707 getpid() = 138538 12:43:32.331840 getpid() = 138538 12:43:32.331975 getpid() = 138538 12:43:32.332088 getpid() = 138538 12:43:32.332480 getpid() = 138538 12:43:32.332614 getpid() = 138538 12:43:32.333946 write(111, "\26\3\3\0z\2\0\0v\3\3\372\237H\272\3512)\376\332\247\212\326X8\216e\\\335\326)\346"..., 3326) = 3326 12:43:32.334165 read(111, 0x7f8a16d12e43, 16709) = -1 EAGAIN (Resource temporarily unavailable) 12:43:32.334289 epoll_wait(11, [{events=EPOLLIN, data={u32=490942945, u64=140231173157345}}], 512, 470) = 1 12:43:32.342459 read(111, "\24\3\3\0\1\1\27\3\3\0E\206=\fk\345\350w\332\262]+\242\277u\365\252a\242\n\273\303"..., 16709) = 80 12:43:32.342565 getpid() = 138538 12:43:32.342632 getpid() = 138538 12:43:32.342674 getpid() = 138538 12:43:32.342706 getpid() = 138538 12:43:32.342786 getpid() = 138538 12:43:32.342823 getpid() = 138538 12:43:32.342878 write(111, "\27\3\3\1\32\244&\35.\240n\264\34\3\323|\211\233\317\340\16\353c\366u\210I\22*\1{4"..., 287) = 287 12:43:32.342951 getpid() = 138538 12:43:32.342994 getpid() = 138538 12:43:32.343038 getpid() = 138538 12:43:32.343077 getpid() = 138538 12:43:32.343166 getpid() = 138538 12:43:32.343226 getpid() = 138538 12:43:32.343325 write(111, "\27\3\3\1\0322\10\21;\344)\376\351\302eF%v\275\24)\213\203FlA\275\304T\321s\263"..., 287) = 287 12:43:32.343395 read(111, 0x7f8a16d12e43, 16709) = -1 EAGAIN (Resource temporarily unavailable) 12:43:32.343449 write(111, "\27\3\3\09\31A\267l\340&\346\215\300Z\264X\240Q[\347\232\305\306\\\204l\17*\"\365\37"..., 62) = 62 12:43:32.343503 epoll_wait(11, [{events=EPOLLIN, data={u32=490942945, u64=140231173157345}}], 512, 459) = 1 12:43:32.349974 read(111, "\27\3\3\0WUf\21\10\342=Q\30195~\212\221\241q\344D
'P\1\346\332m\236\362\245"..., 16709) = 92
12:43:32.350040 read(111, 0x7f8a16d12e43, 16709) = -1 EAGAIN (Resource temporarily unavailable)
12:43:32.350100 write(111, "\27\3\3\0\32\2\377\205\352\v\205\245\372\264\0~\246\20\350\225\240\303\303\\274k\232\214V\216\235", 31) = 31
12:43:32.350152 epoll_wait(11, [{events=EPOLLIN, data={u32=490942945, u64=140231173157345}}], 512, 452) = 1
12:43:32.351916 read(111, "\27\3\3\2X\372\216\241\266Y\200\237\214\212\362TJ#\4\t\312z\3\254\223\301\223\326\177\t\266V"..., 16709) = 605
12:43:32.351986 read(111, 0x7f8a16d12e43, 16709) = -1 EAGAIN (Resource temporarily unavailable)
12:43:32.352074 newfstatat(AT_FDCWD, "/www/wwwroot/8.156.70.60/public/api", 0x7fff7a911230, 0) = -1 ENOENT (No such file or directory)
12:43:32.352149 write(111, "\27\3\3\0\36%\31V\f\327\200U!\23\271\377P\27\221c\332\266\32\267)\371\24B\16\240\242\200"..., 35) = 35
12:43:32.352209 epoll_wait(11, [{events=EPOLLIN, data={u32=490942945, u64=140231173157345}}], 512, 450) = 1
12:43:32.353032 read(111, "\27\3\3\0;\204'\323}\233\273q\6F\v\23?\255&(\210\2057\232\224\240\235\f\30\300.l"..., 16709) = 464
12:43:32.353145 read(111, 0x7f8a16d12e43, 16709) = -1 EAGAIN (Resource temporarily unavailable)
12:43:32.353257 newfstatat(AT_FDCWD, "/www/wwwroot/8.156.70.60/public/api", 0x7fff7a911360, 0) = -1 ENOENT (No such file or directory)
12:43:32.353345 newfstatat(AT_FDCWD, "/www/wwwroot/8.156.70.60/public/api", 0x7fff7a911360, 0) = -1 ENOENT (No such file or directory)
12:43:32.353415 write(111, "\27\3\3\0+\27o\267\376\220\233\377\225z\17\v\306V\266\310\201\35t\262\377n\272\333\221\37\256\324"..., 48) = 48
12:43:32.353491 getsockopt(667, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
12:43:32.353542 writev(667, [{iov_base="POST /api HTTP/1.1\r\nHost: mall.s"..., iov_len=937}, {iov_base="{\"encrypt_data\":\"rLSC9O8TAmH2Q3R"..., iov_len=305}], 2) = 1242
12:43:32.355323 epoll_wait(11, [{events=EPOLLIN, data={u32=490942945, u64=140231173157345}}], 512, 449) = 1
12:43:32.355384 read(111, "\27\3\3\1\355\362\33($\220y\22\364[\316D\26\22mN\251\263\301\365\330QA\26;\325F_"..., 16709) = 902
12:43:32.355435 read(111, 0x7f8a16d12e43, 16709) = -1 EAGAIN (Resource temporarily unavailable)
12:43:32.355487 getsockopt(553, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
12:43:32.355535 writev(553, [{iov_base="POST /api HTTP/1.1\r\nHost: mall.s"..., iov_len=937}, {iov_base="{\"encrypt_data\":\"0EVHPfVCfedYEU5"..., iov_len=467}], 2) = 1404
12:43:32.355624 getsockopt(301, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
12:43:32.355660 writev(301, [{iov_base="POST /api HTTP/1.1\r\nHost: mall.s"..., iov_len=937}, {iov_base="{\"encrypt_data\":\"fRVOBoNcXZxGstW"..., iov_len=342}], 2) = 1279
12:43:32.355713 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490914625, u64=140231173129025}}], 512, 446) = 1
12:43:32.356877 recvfrom(553, "HTTP/1.1 200 OK\r\nServer: workerm"..., 32768, 0, NULL, NULL) = 678
12:43:32.356979 write(111, "\27\3\3\2\351?\3218\321\26\230\2318\10s\221\316\306\260\254.%@\341\353\214C1,\362\31\311"..., 750) = 750
12:43:32.357045 write(7, "117.139.242.233 - - [04/Jun/2025"..., 412) = 412
12:43:32.357107 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490849584, u64=140231173063984}}], 512, 445) = 1
12:43:32.359229 recvfrom(301, "HTTP/1.1 200 OK\r\nServer: workerm"..., 32768, 0, NULL, NULL) = 460
12:43:32.359329 write(111, "\27\3\3\2\16bv\346OV\265G\247\353v?{/\353)\266\251\35)VT\2007\7\217\24\n"..., 531) = 531
12:43:32.359385 write(7, "117.139.242.233 - - [04/Jun/2025"..., 411) = 411
12:43:32.359445 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490841425, u64=140231173055825}}], 512, 442) = 1
12:43:32.361479 recvfrom(667, "HTTP/1.1 200 OK\r\nServer: workerm"..., 32768, 0, NULL, NULL) = 1371
12:43:32.361574 write(111, "\27\3\3\5\235\204|\350\246Y+\270\3677.\236\364\237\234\240A\361b|\337\310H\3610\253\207\f"..., 1442) = 1442
12:43:32.361641 write(7, "117.139.242.233 - - [04/Jun/2025"..., 412) = 412
12:43:32.361697 epoll_wait(11, [{events=EPOLLIN, data={u32=490942945, u64=140231173157345}}], 512, 440) = 1
12:43:32.615046 read(111, "\27\3\3\0;>e\214\227}\270\267f4/\33.T\205\251\266J\220\377\272O%\267\v\347\4\346"..., 16709) = 428
12:43:32.615167 read(111, 0x7f8a16d12e43, 16709) = -1 EAGAIN (Resource temporarily unavailable)
12:43:32.615255 newfstatat(AT_FDCWD, "/www/wwwroot/8.156.70.60/public/api", 0x7fff7a911340, 0) = -1 ENOENT (No such file or directory)
12:43:32.615333 write(111, "\27\3\3\0\36\332U\26\2673B\200\3405\32\211\361\223\r[\350\237\356\271gS\356\352\226\273\3222"..., 35) = 35
12:43:32.615406 getsockopt(667, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
12:43:32.615459 writev(667, [{iov_base="POST /api HTTP/1.1\r\nHost: mall.s"..., iov_len=937}, {iov_base="{\"encrypt_data\":\"zvqS6YQmhjUGMpO"..., iov_len=333}], 2) = 1270
12:43:32.615534 epoll_wait(11, [{events=EPOLLIN, data={u32=490942945, u64=140231173157345}}], 512, 187) = 1
12:43:32.618993 read(111, "\27\3\3\0007\336\346\345\351\6t\306+\233\223\373W\241Ms\16\232V\215_\245(1\302\302N\""..., 16709) = 60
12:43:32.619050 read(111, 0x7f8a16d12e43, 16709) = -1 EAGAIN (Resource temporarily unavailable)
12:43:32.619166 newfstatat(AT_FDCWD, "/www/wwwroot/8.156.70.60/public/api", 0x7fff7a911360, 0) = -1 ENOENT (No such file or directory)
12:43:32.619283 write(111, "\27\3\3\0\36j\274\252o\23\4\341g\371\3224\325\270I\256@M,\36\221\267\201'\33\354 \301"..., 35) = 35
12:43:32.619379 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490841425, u64=140231173055825}}], 512, 183) = 1
12:43:32.619486 recvfrom(667, "HTTP/1.1 200 OK\r\nServer: workerm"..., 32768, 0, NULL, NULL) = 1079
12:43:32.619620 write(111, "\27\3\3\4y\270\331p\320\365\373fI\349\270\30567\372c\226\353?o\2346\265g\315}H"..., 1150) = 1150
12:43:32.619721 write(7, "117.139.242.233 - - [04/Jun/2025"..., 412) = 412
12:43:32.619867 epoll_wait(11, [{events=EPOLLIN, data={u32=490942945, u64=140231173157345}}], 512, 182) = 1
12:43:32.619966 read(111, "\27\3\3\1\355\332\220d6H\2\332\261\332Lr\36\2136i\313\236\227?\10O8\360\25=oq"..., 16709) = 498
12:43:32.620063 read(111, 0x7f8a16d12e43, 16709) = -1 EAGAIN (Resource temporarily unavailable)
12:43:32.620154 getsockopt(667, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
12:43:32.620254 writev(667, [{iov_base="POST /api HTTP/1.1\r\nHost: mall.s"..., iov_len=937}, {iov_base="{\"encrypt_data\":\"Yunu0psq47Zec0Z"..., iov_len=467}], 2) = 1404
12:43:32.621022 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490841425, u64=140231173055825}}], 512, 182) = 1
12:43:32.621691 recvfrom(667, "HTTP/1.1 200 OK\r\nServer: workerm"..., 32768, 0, NULL, NULL) = 678
12:43:32.621837 write(111, "\27\3\3\2\350\5-\226\234\237;\24;\211?i#\2762XL\254\205r\340!\227\271\365\355B\264"..., 749) = 749
12:43:32.621938 write(7, "117.139.242.233 - - [04/Jun/2025"..., 412) = 412
12:43:32.622034 epoll_wait(11, [{events=EPOLLIN, data={u32=490942945, u64=140231173157345}}], 512, 180) = 1
12:43:32.626985 read(111, "\27\3\3\0007\0344\22\340\226\20\n\202\334\261\222Ig\354\231\243\377~\210\225w\341\260\201\301\252n"..., 16709) = 558
12:43:32.627058 read(111, 0x7f8a16d12e43, 16709) = -1 EAGAIN (Resource temporarily unavailable)
12:43:32.627135 newfstatat(AT_FDCWD, "/www/wwwroot/8.156.70.60/public/api", 0x7fff7a911340, 0) = -1 ENOENT (No such file or directory)
12:43:32.627195 write(111, "\27\3\3\0\36\251\22\272\37u\365\214@w\234\241Qf\10\24\3\374~\267\327\206;\203_\323\22M"..., 35) = 35
12:43:32.627255 getsockopt(667, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
12:43:32.627299 writev(667, [{iov_base="POST /api HTTP/1.1\r\nHost: mall.s"..., iov_len=937}, {iov_base="{\"encrypt_data\":\"2MOXPNrMpN/pgI5"..., iov_len=467}], 2) = 1404
12:43:32.627363 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490841425, u64=140231173055825}}], 512, 175) = 1
12:43:32.628408 recvfrom(667, "HTTP/1.1 200 OK\r\nServer: workerm"..., 32768, 0, NULL, NULL) = 678
12:43:32.628497 write(111, "\27\3\3\2\350\225\362\".\247\341#\1b\205G\223\f\202t\3025L\r\255\10A\4\337\6\302Z"..., 749) = 749
12:43:32.628561 write(7, "117.139.242.233 - - [04/Jun/2025"..., 412) = 412
12:43:32.628615 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490786705, u64=140231173001105}}], 512, 173) = 1
12:43:32.690576 read(291, "\27\3\3\0&\0\345\345f\317\333\200^l\177Y\307\354\277\376\33\240Q\301\364u\214\315#\365\2676"..., 16709) = 43
12:43:32.690761 read(291, 0x7f8a16d12e43, 16709) = -1 EAGAIN (Resource temporarily unavailable)
12:43:32.690812 sendto(464, "\201\217\372\235\370a\201\277\214\30\212\370\332[\330\355\221\17\235\277\205", 21, 0, NULL, 0) = 21
12:43:32.690893 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490865905, u64=140231173080305}}], 512, 111) = 1
12:43:32.691323 recvfrom(464, "\201E{\"type\":\"pong\",\"rid\":\"0\",\"msg\""..., 32768, 0, NULL, NULL) = 71
12:43:32.691404 write(291, "\27\3\3\0X\275\fO^\354\201\24Q\v\2641\313\363@,\37\33\266L\306\2776m\t\237Y\253"..., 93) = 93
12:43:32.691471 epoll_wait(11, [{events=EPOLLIN, data={u32=490791745, u64=140231173006145}}], 512, 110) = 1
12:43:32.735719 read(154, "\27\3\3\0;\207W\375r6\3316\17\215\264\0316A$1b\r\210W\217\210KZ\271\7r\317"..., 16709) = 435
12:43:32.735818 read(154, 0x7f8a16d12e43, 16709) = -1 EAGAIN (Resource temporarily unavailable)
12:43:32.735908 newfstatat(AT_FDCWD, "/www/wwwroot/8.156.70.60/public/api", 0x7fff7a911340, 0) = -1 ENOENT (No such file or directory)
12:43:32.735986 write(154, "\27\3\3\0\36\10 u\251\326f\356\332\202\3743\352E\214\236$\236\225 Y\373\220\0051wR"..., 35) = 35 12:43:32.736066 getsockopt(667, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 12:43:32.736120 writev(667, [{iov_base="POST /api HTTP/1.1\r\nHost: mall.s"..., iov_len=931}, {iov_base="{\"encrypt_data\":\"oyPTkJAl0wsjMEr"..., iov_len=340}], 2) = 1271 12:43:32.736193 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490841425, u64=140231173055825}}], 512, 66) = 1 12:43:32.738507 recvfrom(667, "HTTP/1.1 200 OK\r\nServer: workerm"..., 32768, 0, NULL, NULL) = 462 12:43:32.738654 write(154, "\27\3\3\2\20A\244
\3\253\230\364\374\37.\f\2205\315\374(\202\274\261\303\6C\3335:\273d"..., 533) = 533
12:43:32.738743 write(7, "117.173.181.184 - - [04/Jun/2025"..., 405) = 405
12:43:32.738822 epoll_wait(11, [], 512, 63) = 0
12:43:32.802723 write(6, "180.163.28.114 - - [04/Jun/2025:"..., 453) = 453
12:43:32.802877 close(501) = 0
12:43:32.803026 close(487) = 0
12:43:32.803170 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490858704, u64=140231173073104}}], 512, 351) = 1
12:43:33.151297 read(557, "\27\3\3\0&<\326\210\240c\2026\220z\206\215\223=3([\267\v\250$\223\35\355\307\222\214\351"..., 16709) = 43
12:43:33.151383 read(557, 0x7f8a1704b683, 16709) = -1 EAGAIN (Resource temporarily unavailable)
12:43:33.151444 sendto(272, "\201\217\374#\261\331\207\1\305\240\214F\223\343\336S\330\267\233\1\314", 21, 0, NULL, 0) = 21
12:43:33.151736 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490809264, u64=140231173023664}}], 512, 2) = 1
12:43:33.151945 recvfrom(272, "\201E{\"type\":\"pong\",\"rid\":\"0\",\"msg\""..., 32768, 0, NULL, NULL) = 71
12:43:33.152019 write(557, "\27\3\3\0XK\357\261z\316\23\17\250\204\354i\363N\356\374\351\203\345\246c\17,\221\337\357=\21"..., 93) = 93
12:43:33.152079 epoll_wait(11, [], 512, 2) = 0
12:43:33.154217 write(76, "\27\3\3\0\"\355\2472=\\356\24\3\271\36\0261pA\377\235\210m\31\322EY\346 \307PE"..., 39) = 39
12:43:33.154295 write(76, "\27\3\3\0\23\214\360v\2439\344N\330\331\333\310T\362\315\t\3224?\371", 24) = 24
12:43:33.154363 shutdown(76, SHUT_WR) = 0
12:43:33.154413 epoll_wait(11, [{events=EPOLLIN|EPOLLHUP|EPOLLRDHUP, data={u32=490940784, u64=140231173155184}}], 512, 4398) = 1
12:43:33.164777 close(76) = 0
12:43:33.164859 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490739904, u64=140231172954304}}], 512, 4388) = 1
12:43:33.192795 read(506, "\27\3\3\0&\355\326\246\342O;\355\n\232(n\243X7\201<\203\226}P7W\201\377Y\377\346"..., 16709) = 43
12:43:33.192862 read(506, 0x7f8a1704b683, 16709) = -1 EAGAIN (Resource temporarily unavailable)
12:43:33.192908 sendto(533, "\201\217\2434\210\0\330\26\374y\323Q\252:\201D\341n\304\26\365", 21, 0, NULL, 0) = 21
12:43:33.193341 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT, data={u32=490847184, u64=140231173061584}}], 512, 4360) = 1
12:43:33.193405 recvfrom(533, "\201E{\"type\":\"pong\",\"rid\":\"0\",\"msg\""..., 32768, 0, NULL, NULL) = 71
12:43:33.193478 write(506, "\27\3\3\0X\224\323\372C\205C\22\265m\323\10h\343\307 _\346\17\37oT\202\f^tO\362"..., 93) = 93
12:43:33.193540 epoll_wait(11, [{events=EPOLLIN|EPOLLRDHUP, data={u32=490947024, u64=140231173161424}}], 512, 4359) = 1
12:43:33.221990 read(611, "", 16709) = 0
12:43:33.222101 close(611) = 0
12:43:33.222185 epoll_wait(11, [{events=EPOLLIN|EPOLLOUT|EPOLLRDHUP, data={u32=490809985, u64=140231173024385}}], 512, 4331) = 1
12:43:33.222254 read(139, "", 16709) = 0
12:43:33.222323 close(139) = 0
12:43:33.222396 epoll_wait(11, ^Cstrace: Process 138538 detached