ipwx 最近的时间轴更新
ipwx

ipwx

V2EX 第 86855 号会员,加入于 2014-12-15 23:19:35 +08:00
ipwx 最近回复了
接一个外置小板子,用 LAN 唤醒。

windows 估计没有程序可以让系统从睡眠中唤醒的机制吧。
说实话你这住宿其实不贵。

我清明去东京都是 600~800 一晚的。
3 天前
回复了 soul11201 创建的主题 职场话题 调研一下,目前 Go 岗位的市场如何
Go 用 AI 写代码的体验不错,Cursor 出来的东西会利用 lint 确保能编译
京都可以约和服摄影。不包化妆,你可以去协程或者飞猪找一下。

我的体验很不错。
坐标北京。前几年 8k 估计只能租 60 平,现在能租 90 平。
@zhengfan2016 那你挺惨的。加油吧……
明明是页面上的东西,为啥要用全局 store 。

改天需求发生变化,比如本来是一个页面只显示一套 id = ? 的东西,现在要改成用 tab 切换而不是新建一个页面,你看你这全局 store 会不会重构到心态爆炸。
你应该关掉格式化插件

然后手动 pnpm lint
@franswish 不知道怎么搞定协议解析、切分消息(俗称解决粘包) = 我高中玩编程的水平。

那时候是真觉得这玩意儿也忒复杂了,怎么这么难搞。

现在嘛,不就是把 TcpConn 放到一个 Stream 里面,然后

string readNextChunk(int size) {
int nLeft = size;
string ret;
char buffer[8192];
while (nLeft > 0) {
int nRead = read(conn, buffer, min(nLeft, sizeof(buffer));
if (nRead == 0) {
break; // EOF
}
for (int i=0; i<nRead; ++i) {
ret.push_back(buffer[i]);
}
nLeft -= nRead;
}
return ret;
}

其实第一个认知更新,是在网络条件下,read(..., 8192) 不一定能给你真的读出来 8192 bytes ,你得用循环读。然后这部分写成一个通用函数(比如上面这个 readNextChunk) 就行了。用的时候

int nextMsgLength = fromLittleEndianUint32Bytes(readNextChunk(4));
string msg = readNextChunk(nextMsgLength)
楼主的需求是啥?

如果用 websocket 发送一个 message ,那它天然就是按 message 切分的,没问题。但是,message 有大小上限。如果你需要发送一个超过上限的 message ,你可能需要自己模拟一遍 “拆包”-“组装” 过程,相当于你用 websocket 消息流模拟了 tcp 的无消息流。

如果你想要在读取 post body 的时候期待客户端是一个一个数据包发送的,那不好意思,中间任何一个代理服务器甚至是路由器都可以修改数据包的形式,是可以任意重新组装重新切分的。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5432 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 14ms · UTC 03:15 · PVG 11:15 · LAX 20:15 · JFK 23:15
Developed with CodeLauncher
♥ Do have faith in what you're doing.