V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  amiwrong123  ›  全部回复第 15 页 / 共 39 页
回复总数  777
1 ... 11  12  13  14  15  16  17  18  19  20 ... 39  
2021-12-07 15:10:16 +08:00
回复了 amiwrong123 创建的主题 程序员 关于 socket 的 shutdown close 函数的几个疑问?
@anytk #5
> close 是针对 fd 资源的,shutdown 是针对 tcp 协议的操作。

那我理解,调用 close 后(假设只有一个进程共享了 fd ),就不需要再调用 shutdown(SHUT_RDWR)
但,调用 shutdown(SHUT_RDWR) 后,还需要再调用 close 呗
2021-12-07 14:07:21 +08:00
回复了 amiwrong123 创建的主题 程序员 关于 socket 的 shutdown close 函数的几个疑问?
@anytk #1
@julyclyde #2
大佬,能不能看下第 2 点,第 5 第 6 点,我很纠结这几个。感谢
2021-12-02 22:00:28 +08:00
回复了 amiwrong123 创建的主题 问与答 B 站收藏视频 失效了怎么找到视频
@walkxspace #1
谢谢,确实有的能修复
说错了,是重传的 FIN
@weyou
@mawerss1
@LinJunzhu
那主动关闭方 收到了对方的 重传的 ack 后,timewait 状态重新开始计时嘛
2021-11-27 14:16:00 +08:00
回复了 amiwrong123 创建的主题 程序员 vs 中如何解决 C++的“常量中有换行符”
@koebehshian #12
哎,我也不知道为啥他的源文件编码格式都是 gb2312😂
我只是负责集成包装成接口给上层使用,而且之前他好像还说过,不要改他的源文件的编码格式,不然可能会出问题😂
2021-11-27 14:13:31 +08:00
回复了 amiwrong123 创建的主题 程序员 vs 中如何解决 C++的“常量中有换行符”
@mangohaoming #9
是吗,我就是怕 withBom 的 有问题,所以才来发帖😂
2021-11-27 14:08:44 +08:00
回复了 amiwrong123 创建的主题 程序员 vs 中如何解决 C++的“常量中有换行符”
@wudicgi #8
我也这么觉得。老哥你看看我 4 楼的问题呢,那篇文章把我弄懵了,我理解:
如果已经设置了 /source-charset ,那么不会执行那三个步骤,直接使用 设置的 /source-charset 。对吗😂
2021-11-27 13:47:50 +08:00
回复了 amiwrong123 创建的主题 程序员 vs 中如何解决 C++的“常量中有换行符”
@yolee599 #7
那要不要 withBom 呢?
因为 vs 编译,最好是 withBom 的
2021-11-27 13:41:54 +08:00
回复了 amiwrong123 创建的主题 程序员 vs 中如何解决 C++的“常量中有换行符”
@koebehshian #6
他的代码 是 那种处理中文文本的一种程序(类似,NLU )。总之,肯定会有 中文字符串常量。这没法阿
2021-11-27 11:59:25 +08:00
回复了 amiwrong123 创建的主题 程序员 vs 中如何解决 C++的“常量中有换行符”
@mangohaoming #3
老哥你看看我 4 楼的问题呗

这篇文章也是说,最好 utf-8-withBom 。但我的 c++代码也需要在 linux 上编译,就得跨平台。

而且这篇文章说,最好使用 wchar_t 。我有点不理解。关键这个类型大家感觉也不常用啊,到时候和别人代码一对接,好多地方要改,还可能出错。。
2021-11-27 11:55:00 +08:00
回复了 amiwrong123 创建的主题 程序员 vs 中如何解决 C++的“常量中有换行符”
https://www.cnblogs.com/jiangxueqiao/p/7464408.html#!comments

这篇文章里提到:
vs 编译器判断源文件编码类型的步骤为:
1. 若文件开始处有 BOM(EF BB BF),则判定为 UTF-8 编码;
2. 若没有 BOM ,则试图从文件的前 8 个字节来判断文件是否像 UTF-16 编码,如果像,则就判断为 UTF-16 编码。
3. 如果既没 BOM ,也不是 UTF-16 编码,则使用系统当前的代码页(简体中文操作系统为 CP936 )。

我理解是这样的:
如果没有设置 /source-charset ,那么会执行这三步,根据这三步来得到最终的 /source-charset 。
如果已经设置了 /source-charset ,那么不会执行这三个步骤,直接使用 设置的 /source-charset 。

有没有经常用 vs 的老哥,是不是这样呀😂
2021-11-22 00:32:45 +08:00
回复了 amiwrong123 创建的主题 程序员 TCP 检验和原理不太懂?求大佬指点
@qbqbqbqb
又或者根本不该加 sum += (sum>>16);
2021-11-22 00:28:13 +08:00
回复了 amiwrong123 创建的主题 程序员 TCP 检验和原理不太懂?求大佬指点
@qbqbqbqb
大佬,再问一下这个算法:
sum = (sum>>16) + (sum&0xffff);
sum += (sum>>16);

1. 这两句,我理解后面这句话 sum += (sum>>16);是有必要的,因为前面这句 sum = (sum>>16) + (sum&0xffff);可能又发生了溢出,所以针对这种可能出现的情况,我们需要再做一次 sum += (sum>>16);?是这样理解的吗

2. 但为什么第二句不是 sum = (sum>>16) + (sum&0xffff)呢?
2021-11-19 11:12:27 +08:00
回复了 amiwrong123 创建的主题 程序员 TCP 检验和原理不太懂?求大佬指点
@qbqbqbqb #5
> x1+x2+...+xn+c=0

本贴中第一个图中,发送方的数据是 1000 0100 ,最后算出来的校验和为 0011 ,
1000 + 0100 + 0011 = 1111. 为啥我这算出来是 全 1 呢😂,是我哪里理解错了
😂
2021-11-19 10:48:53 +08:00
回复了 amiwrong123 创建的主题 程序员 TCP 检验和原理不太懂?求大佬指点
@qbqbqbqb #4
![]( https://s3.bmp.ovh/imgs/2021/11/a1701aa01a429c66.jpg)
我好像通过这个懂了,为什么 要“溢出高位叠加到低位”。但我好像还是没通过你的这句话,来 get 到为什么“溢出高位叠加到低位”。
哎,我太笨了
总之,不管是再加 1 ,还是“溢出高位叠加到低位”,都是为了 保证 反码 a+反码 b = 反码 c (因为 a+b=c )
2021-11-18 23:33:20 +08:00
回复了 amiwrong123 创建的主题 程序员 TCP 检验和原理不太懂?求大佬指点
@qbqbqbqb #4
普通的数 的加法里,溢出后,溢出的那一位 刚好就代表 2^w ,所以普通的数 加起来 不用特殊操作。

反码 的加法里,溢出后,溢出的那一位也是就代表 2^w 的,但反码的范围是 [0000-0111 ,1000-1110] (前者 正数,后者负数,-0 么有算在里面),所以就 应该再把溢出那一位 1 加到后面(但这里我 无法正确表述这个道理,希望大佬解释下)

总之,两个反码相加,可能会得到 0001 xyza ,而“溢出高位叠加到低位”就是把这个 0001 ,给加进来。
2021-11-18 22:20:01 +08:00
回复了 amiwrong123 创建的主题 程序员 TCP 检验和原理不太懂?求大佬指点
@amiwrong123 #7
好像理解了。。

0b10000 - 6 = 2 那就是对 8 取模
0b1111 - 6 = 1 那就是对 7 取模

剩下的我接着理解
😂
2021-11-18 22:09:37 +08:00
回复了 amiwrong123 创建的主题 程序员 TCP 检验和原理不太懂?求大佬指点
@qbqbqbqb #4
正数的话,原码和反码相同。
负数的话,反码是 把负数绝对值的原码,按位取反,再把符号位置为 1 。这样,负数的反码 和 负数绝对值的反码(负数绝对值就是正数,正数的话,原码和反码相同)恰好各个位都是 相反的。

从上可以得知(假设为 4 位 bit 的数)(|负数|是这个负数的绝对值):
负数的反码 + |负数|的反码 = 1111

所以就得出了 ~x = [11..11]2-x = “x 取反”
因为 负数的反码 = 1111 - |负数|的反码

然后你说的“反码加法”就是指两个反码相加是吧。
但我还是没懂“反码加法实际上就是关于 2^w-1 取模的加法”这句话。

比如
负数 a 的反码 = 1111 - |负数 a|的反码
负数 b 的反码 = 1111 - |负数 b|的反码

那么
负数 a 的反码 + 负数 b 的反码 = 1111 + 1111 - |负数 a|的反码 - |负数 b|的反码

但是怎么理解成“关于 2^w-1 取模”啊

有点笨,求指点迷津啦
@xarthur #8
我有点不太会弄这个 iptables ,本着不懂就问的原则,我先按照 这文章里的 https://www.cnblogs.com/EasonJim/p/6851007.html 先新建一个 rules.v4 ,做完步骤。然后在 这文件添加一行啥呢?(我是用 Windows 的 Ubuntu 虚拟机)

类似于
iptables -A INPUT -p tcp -m tcp --dport 4444 -j DROP 吗
1 ... 11  12  13  14  15  16  17  18  19  20 ... 39  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3489 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 00:54 · PVG 08:54 · LAX 16:54 · JFK 19:54
Developed with CodeLauncher
♥ Do have faith in what you're doing.