V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  kkkbbb  ›  全部回复第 4 页 / 共 12 页
回复总数  232
1  2  3  4  5  6  7  8  9  10 ... 12  
@gpt5 我是假设这种场景,有没有现成工具或者方法能够进行记录,不是真的要解决方案。
@lazyyz 但这种方式本质还是过滤请求命令,通过权限校验的方式进行避免么,我其实想知道有没有工具能够记录通过远程方式登录,输入的指令是那个 ip 地址触发的。
277 天前
回复了 StubbornHuang 创建的主题 C++ C++有什么好的多进程轮子吗?
这不就是 reactor 模式么,进程太重了吧,线程就可以了吧
286 天前
回复了 dust0522 创建的主题 程序员 真没见过这种问题,求帮助
@hopingtop 我比较好奇的是触发防火墙规则导致当前客户端无法访问能理解,但还能导致服务器断连?把其他所有正常的请求也给拒绝了?
286 天前
回复了 dust0522 创建的主题 程序员 真没见过这种问题,求帮助
怎么能看下是防火墙的什么规则导致触发这种情况,还有它的处理行为具体是什么怎么查看呢,我也挺好奇的
289 天前
回复了 jtcc 创建的主题 程序员 大家跟人说话的时候,会看别人眼睛吗
@tcpdump hhhhh, 可以的
有些事早晚要经历,碰了南墙就知道疼了。
@NoAnyLove 没有用 fork ,zmq socket 都是在 send 内部创建的,使用完就关闭了,send 调用的地方也没几处。
@NoAnyLove 这个每次会重新赋值的
@hankai17 代码 send 里的 socket 都是在内部封装的,没有暴露出来,没看出来哪里的问题
@NoAnyLove 版本是 4.3.3 目前不是必现,所以不太清楚可能是什么问题
贴下 send 的代码,看了下没看出来那会提前 close socket:
void *cts_zmq_socket_connect(void *context, void * requester, const char* dest,short destory)
{
void *pSocket = NULL;
int optionVlalue = 0;
int result;
if(destory)
{
zmq_disconnect(requester, dest);
zmq_close(requester);
}
pSocket = zmq_socket(pContext, ZMQ_REQ);
if(NULL == pSocket) {
return NULL;
}

zmq_setsockopt(pSocket, ZMQ_LINGER, &optionVlalue, sizeof(int));

result = zmq_connect(pSocket, dest);
if(result < 0) {
zmq_close(pSocket);
return NULL;
}

return pSocket;
}

int cts_zmq_send(ZMQ_MSG *msg, const char* dest)
{
int result;
int expect_reply = 1;
int retries_left = REQUEST_RETRIES;

void *pSocket = NULL;
pSocket = cts_zmq_socket_connect(pContext, pSocket, dest, 0);
if(pSocket == NULL)
{
return -1;
}
msg->MessageSequence = cts_zmq_random_get(10000);
result = zmq_send(pSocket, msg, sizeof(*msg), 0);
if(result < 0) {
zmq_disconnect(pSocket, dest);
zmq_close(pSocket);
return -2;
}

while (expect_reply)
{
zmq_pollitem_t items[] = {{pSocket, 0, ZMQ_POLLIN, 0}};
int rc = zmq_poll(items, 1, REQUEST_TIMEOUT);
if (rc == -1) {
result = -3;
break;
}

if (items[0].revents & ZMQ_POLLIN) {
ZMQ_MSG recvMsg;

int rcv = zmq_recv(pSocket, &recvMsg, sizeof(recvMsg), 0);
if (rcv < 0) {
result = -4;
break;
} else {
retries_left = REQUEST_RETRIES;
expect_reply = 0;
if (recvMsg.MessageSequence == msg->MessageSequence) {
result = 0;
break;
} else {
result = -5;
break;
}
}
} else {
if (retries_left <= 0) {
retries_left = REQUEST_RETRIES;
result = -6;
break;
} else {
retries_left -=1;
pSocket = cts_zmq_socket_connect(pContext, pSocket, dest, 1);
if(pSocket == NULL)
{
return -7;
}
msg->MessageSequence = cts_zmq_random_get(10000);
zmq_send(pSocket, msg, sizeof(*msg), 0);
continue;
}
}
}

zmq_disconnect(pSocket, dest);
zmq_close(pSocket);

return result;
}
291 天前
回复了 JitterChicken 创建的主题 程序员 Claude2.0 来了
@yqf0215 挂梯子可以用?我用 clash 选择美国的节点不行啊
292 天前
回复了 thinkm 创建的主题 程序员 如何帮一个文科生女性用上 ChatGPT
对象?不是的话,学会拒绝。
这是记笔记?这不就是 demo 调试
298 天前
回复了 JustW 创建的主题 程序员 IDEA 推出的 AI 工具在国内如何使用?
@riddle4ever 请教下增强模式和不开的有啥区别?
298 天前
回复了 JustW 创建的主题 程序员 IDEA 推出的 AI 工具在国内如何使用?
@leaves615 你是用的那个软件?我用 clash 的日志里面时延,流量都没有
![2023-07-05_095313.png]( https://s2.loli.net/2023/07/05/tH4JO3xXp1cuV79.png)
305 天前
回复了 ggp1ot2 创建的主题 程序员 大家在办公室都泡什么茶喝?
放点泡腾片
316 天前
回复了 OrdinaryMan 创建的主题 程序员 claude 不免费了,贴吧一片哀鸿
可以用没问题啊
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3051 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 00:04 · PVG 08:04 · LAX 17:04 · JFK 20:04
Developed with CodeLauncher
♥ Do have faith in what you're doing.