V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  body007  ›  全部回复第 2 页 / 共 19 页
回复总数  378
1  2  3  4  5  6  7  8  9  10 ... 19  
24 天前
回复了 WilliamColton 创建的主题 问与答 Go 新手求教
@WilliamColton #10 我感觉是巧合,停顿可能造成协程切换,缓冲区数据正好按照代码分段发送。你可以连续不间断发送请求测试 sleep 版本,肯定是有概率触发问题的,大概率就是部分数据不正确。
@sunny352787
@0o0O0o0O0o

看来盯着 shadowsocks 的我落后了,学习了。
24 天前
回复了 WilliamColton 创建的主题 问与答 Go 新手求教
@WilliamColton #8 你这个数组逆序是没问题,但你没办法保证加密的这段数据正好是解密那段数据。例如你将[1,2,3,4,5,6]加密为[6,5,4,3,2,1]发送出去,但接收方不一定刚好接收到[6,5,4,3,2,1],有可能接收到[6,5,4],[3,2,1],分 2 次处理。

我了解到的加解密方式有下面 3 种,在 go 标准库里面有具体实现。
Stream 方式可以做到在任意数据位置加解密都行。
BlockMode 方式需要块长度,加解密双方都必须按照某个长度的数据进行加解密。
AEAD 方式更加复杂,我忘了细节,你可以自己了解下。
总之加解密需要保证加密数据在解密时也是完整的。

// 这种简单的异或可以做到任意位置加解密,0x12 就是密钥
func (r ReverseCipher) Encrypt(data []byte) []byte {
for i := range data {
data[i] ^= 0x12
}
return data
}

标准库里面自带很多加解密方法,你可以选最简单的 Steam 方式看看。

https://i.imgur.com/laTlVJE.png
33 天前
回复了 WilliamColton 创建的主题 问与答 Go 新手求教
@WilliamColton 粗略来看,去掉加解密后应该不会有问题,你可以先试试不用加解密的情况。cipher.Encrypt 不是线程安全也会有影响。
我比较懒,换成 Caddy ,配置少,自动管理证书。
我喜欢 go ,但我讨厌这个特性。主要场景也不是你上面那种封装完立即 range 遍历,而是生成一个迭代器,放到代码其他位置去遍历,这种代码容易写出 bug ,还不好定位。你可以看下 iter 包,里面还有 iter.Pull 这种方法,就是把迭代器变成 next() 和 stop() 两个函数,意思是在其他代码位置一个个读取迭代器元素,最好在最上面写 defer stop()。go 容易阅读是很多使用者喜欢的原因,难以想象到处充斥这种迭代器的代码的阅读体验。生成迭代器和使用迭代器的代码位置可能相差十万八千里,调试打断点估计都不好找位置🤣
34 天前
回复了 WilliamColton 创建的主题 问与答 Go 新手求教
我之前也有做过,但我建议你试试下面的代码。我推测你上面有 defer 关闭链接的代码,因此你后面没有等 2 个 CopyData 同时结束就退出函数导致执行关闭连接,而你第一个协程的 go CopyData(srcConn, dstConn, cipher) 里面代码还在对连接进行读写操作,这时就有数据竞争问题。你可以用 go build -race 之后的程序运行,会打印数据竞争问题。

defer srcConn.Close()
defer dstConn.Close()

// 改成如下代码试试
ok := make(chan struct{})
go func() {
CopyData(srcConn, dstConn, cipher)
ok <- struct{}{}
}()
CopyData(dstConn, srcConn, cipher)
<-ok
@Jokesy 运维第二课是不是:chmod 000 / -R ,😂😂
39 天前
回复了 djangovcps 创建的主题 全球工单系统 雪球好像爆了?
垃圾雪球,我注销账号提示我有没有结清的基金啥的。我全都卖完了也不行,我想取消所有银行卡绑定,结果最后一张卡死活不让解绑。最后没办法,只能卸载不管了,结果还隔三岔五发广告短信。
39 天前
回复了 inu1255 创建的主题 Windows [求推荐] windows 上有什么好的进程守护软件
https://github.com/ochinchina/supervisord/releases

这个支持以 window 服务运行,对标 python 那个 supervisor ,但这个单文件无依赖。
是否用的 tls1.3 吗?我自建 https 服务器不在国内,用 tls1.3 速度没有 tls1.2 快,具体原因不知道。
https://keepass.info/download.html

https://i.imgur.com/jBO0FcI.png

电脑我用 keeweb ,手机用 KeePass2Android
数据自建 webdav 。
43 天前
回复了 chengiri 创建的主题 随想 哪一瞬间觉得自己真的老了..
电子阳痿了,甚至没有娱乐的兴趣。
43 天前
回复了 awanganddong 创建的主题 Go 编程语言 golang 依赖循环的问题。
A 依赖 B 的代码,和 B 依赖 A 的代码,提取出来放到 C 包里面,这样 A 依赖 C ,B 依赖 C 就行了。
44 天前
回复了 ODESZA 创建的主题 职场话题 攒了两周的高血压大赏
[电子扫盲课—网盘下载压缩文件及解压缩教学] https://www.bilibili.com/video/BV11w4m1y7kA/

看到你这个贴子,我又看了一次这个视频,哈哈哈。
55 天前
回复了 brader 创建的主题 生活 周末终于去拔了智齿
@StinkyTofus #11 是的,我下面两边的牙齿完全包在肉里面,平时完全没感觉,我甚至都不知道那里有两个牙齿。直到需要去医院时,拍完片才知道需要拔掉。我有朋友的智齿更恼火,非常难拔,必须全麻,拔牙那天我还照顾了一晚上。
@body007 我研究了下,后面靠运气越来越少,就觉得麻将索然无味,这大概就是这类游戏的魅力吧 https://i.imgur.com/agAJ0Rd.png
https://github.com/jan-bar/goOpenCv/tree/gocv/mahjong

要不要研究下麻将算法,深入了解。
1  2  3  4  5  6  7  8  9  10 ... 19  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2548 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 08:17 · PVG 16:17 · LAX 01:17 · JFK 04:17
Developed with CodeLauncher
♥ Do have faith in what you're doing.