首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  程序员

终于知道知乎网红轮子哥的编程水平了

  •  1
     
  •   eightqueen · 2016-12-27 18:59:43 +08:00 · 57783 次点击
    这是一个创建于 1082 天前的主题,其中的信息可能已经有所发展或是发生改变。

    即便你工作当中用不到网络编程,好歹大学学过吧,都怎么进微软的?

    187 回复  |  直到 2017-05-03 01:29:24 +08:00
    1  2  
        101
    21grams   2016-12-28 09:58:48 +08:00
    不知道是不是现在语文阅读能力都集体退化了,轮子哥不是明明在嘲讽那句话啊? 都不知道你们是怎么理解的。 如还有不理解的,请去看一下轮子哥的微博,前几天的微博里也提到了这个,说的很清楚。
        102
    starcraft   2016-12-28 10:02:52 +08:00 via iPhone
    他认真答的我看着毫无波动,在其他回答里总能看到他到此一游,所以我一直想知乎提供屏蔽功能.....
        103
    wwqgtxx   2016-12-28 10:02:53 +08:00 via iPhone
    @SoloCompany 我很好奇哪里可笑了
    作为客户端,连接同一个服务器 ip 和端口最多只能发起 65k 的连接
    作为服务器,在一个 ip 上监听一个端口,最多只能接受
    全球 ip 地址数^最大端口数
    那么要想突破这个限制,要不然就服务器监听多端口,要不然就再给服务器提供个 ip 地址,这个理解难道有什么问题么?
        104
    SoloCompany   2016-12-28 10:11:05 +08:00
    @21grams 第一反应我也觉得他是在说反话,尤其还带了个(逃)结尾,但问题是第一个回复真的很挑战我的语文阅读能力,也许是真的退化了吧
        105
    raincious   2016-12-28 10:19:21 +08:00
    @8bit

    俺只是一个帖子都没看清就回了的路过群众。(正在掩面跑开……
        106
    xiaoyang7545   2016-12-28 10:36:29 +08:00
    没意义。。我公司的 CTO 还是亚马逊老总级别的技术。写出的 PHP 就是像大学生水平。。可是人家其他方面牛太多了
        107
    skylancer   2016-12-28 10:45:05 +08:00
    我其实没搞懂... 这不是大学就该上的内容吗,考试怎么过的...
    乖乖上好课我不信能这样回答
        108
    c0878   2016-12-28 10:45:59 +08:00
    喷轮子的你们有本事弄一个和他一样牛逼的 ai 来再说
    论 ai 机器人爬知乎 我只服轮子
        109
    woostundy   2016-12-28 10:47:30 +08:00
    @helloSwift 讲道理,能出现在 C++ Primer 封面,超过 95%是没问题的。
        110
    julyclyde   2016-12-28 10:48:53 +08:00
    @est 用 seq/ack 头区分同 4 tuple 是不是会被 RST 掉?
        111
    kamushin   2016-12-28 10:49:19 +08:00
    是有术业有专攻这个道理, 但是 ai 好好带逛就行了, 回答不是自己的"专攻"的领域, 被吐槽也很正常吧.
        112
    julyclyde   2016-12-28 10:49:32 +08:00
    其实最关键的错不在于他没搞明白 4 元祖的概念,而在于他发明了“会分配一个临时端口”这种做法
        113
    narrowei   2016-12-28 10:50:23 +08:00
    大学学过考过就一定记得???什么逻辑。。。
        114
    kamushin   2016-12-28 10:51:57 +08:00
    @julyclyde +1. “会分配一个临时端口”这个说法实在是有趣, 要是没有这句话, 真以为他在钓鱼..
        115
    popstk   2016-12-28 11:07:57 +08:00
    @kamushin @julyclyde
    临时分配端口 有什么问题?难道服务端监听到一个连接不会分配一个新端口进行通讯?
    4 元组有什么关系?难道会出现这样的情况,服务端使用同一个端口 同时 与两个连接通讯?比如:
    (192.168.1.1:999, 192.168.1.2:188)
    (192.168.1.1:999, 192.168.1.3:199)

    诚心求指教,看了两页评论表示还是一脸懵逼
        116
    eightqueen   2016-12-28 11:16:38 +08:00   ♥ 1
    @Taojun0714 我肯定有不会的知识,那么我尽量不装逼强答。一旦打错,你们要打脸,我认。现在轮子哥是又想装逼,又不想被打脸,哪有这么好的事,你去看看他在知乎的回答就知道了。
        117
    xsliang   2016-12-28 11:18:45 +08:00
    “编程水平,网络编程,大学学过,进微软”扯到一起
    我总觉得有一股浓浓的*味
        118
    jsou   2016-12-28 11:29:58 +08:00
    @popstk
    服务端就是只使用一个端口。
    “同时”不是真同时,并发和并行的区别。
        119
    kamushin   2016-12-28 11:36:44 +08:00
    @popstk 你可以查阅"Unix 网络编程"中, IO 相关章节, 其中的 IO 复用篇.
        120
    enenaaa   2016-12-28 11:46:26 +08:00   ♥ 2
    @popstk

    服务端 accept 一个 socket , 只是增加一个文件描述符,不会占用一个新端口。所有的客户端连接都是共用 listen 绑定的那个端口。服务端的网络协议栈根据 socket 来区分数据。

    @jsou 同时当然是真同时, 就像多核机器上,两个进程可以各自操作 2 个文件,没有其他影响(忽略硬件问题)。

    @kamushin io 多路复用是指怎么处理 socket 数据, 跟这个没关系。
        121
    jedihy   2016-12-28 11:47:01 +08:00
    图片看不到了啊
        122
    DingSoung   2016-12-28 12:06:34 +08:00
    看过, Windows C++牛人,确实写了很多轮子,虽然没什么人用。
    另外,谁都年轻过,谁也不是各个方面都牛,那些细节的东西很难记的,何况一查就知道,何必记
        123
    est   2016-12-28 12:13:32 +08:00
    @julyclyde 去掉 CONNTRACK

    iptables -t raw -A PREROUTING -p tcp --port 8080 -j NOTRACK
        124
    stormpeach   2016-12-28 12:18:14 +08:00
    网络编程还是得问陈硕啊
        125
    chiu   2016-12-28 12:22:03 +08:00 via Android
    我轮风评还是很好的
        126
    jsou   2016-12-28 12:25:43 +08:00   ♥ 2
    @enenaaa
    并发不一定是“同时”,线程的调度是操作系统做的。
    服务端 ip:port 的接收和返回也是过缓冲区的。

    能够真同时进行的场景更多是称为“并行”。就像你举的例子,两个进程在不同的 cpu 核心里并行执行。
    在并发的应用中,会局部出现并行的现像。但这只是操作系统、 cpu 、服务容器调度过程中的随机性的体现。

    并发!= 并行
        127
    wwqgtxx   2016-12-28 12:35:10 +08:00
    @jsou 不管“ 并发是不是“同时” ”,就算是真正的“同时”,也不影响服务器通过一个端口和多个客户端进行通讯
        128
    jsou   2016-12-28 12:41:21 +08:00
    @wwqgtxx
    当然不影响和多个客户端进行通讯,不然怎么叫并发呢。
    只是有人不看我说的并发和并行,非要纠结同时这个字眼。
        129
    julyclyde   2016-12-28 12:50:03 +08:00
    @popstk 不是“难道不是”而是“显然不是”分配一个临时端口。你需要加强学习
        130
    julyclyde   2016-12-28 12:50:56 +08:00
    @est 序列号是由 tcp 协议栈处理的吧,不是 netfilter 处理的吧?
        131
    julyclyde   2016-12-28 12:51:33 +08:00
    @popstk 你想想如果分配个临时端口,怎么告诉客户端“我这边换了”这个信息呢?
        132
    julyclyde   2016-12-28 12:52:33 +08:00
    @kamushin 有了“临时端口”这句话之后,发现他是“真”不会,原来不是钓鱼啊。哈哈哈。我也觉得是这样
        133
    enenaaa   2016-12-28 12:57:30 +08:00
    @jsou 人家问的是两个网络连接是不是同时通讯, 你扯什么进程线程。从网络连接的角度, 它们当然是可以同时通信的。 至于在机器执行层面是不是真*同时, 这是其他问题。
        134
    Yc1992   2016-12-28 12:57:33 +08:00
    楼主终于找到喷点了,喷的爽吗?
        135
    dreamwar   2016-12-28 13:02:06 +08:00
    LZ 已经被喷的血肉模糊
        136
    eightqueen   2016-12-28 13:06:15 +08:00
    @Yc1992 我没有喷啊,我只是不迷信权威。
        137
    est   2016-12-28 13:26:35 +08:00
    @julyclyde 就是手动来构造 tcp 。那个命令就防止系统不认包给 rst 。
        138
    Vizogood   2016-12-28 13:33:49 +08:00
    你还记得那些年大学里学过的毛概么.......
        139
    julyclyde   2016-12-28 13:36:09 +08:00
    @est 你这个首先假设了 RST 是由 netfilter 发的。但我觉得应该是协议栈本身发的呢
        140
    SoloCompany   2016-12-28 13:44:39 +08:00
    @enenaaa 说概念首先得有个标准,同时的标准应该是指多个 CPU 核心可以一起处理不阻塞,在这个概念的前提下, linux 的 tcp 协议堆栈的实现应该不满足这个条件。所以 @jsou 是对的。

    意思是说,服务端的一个 ip:port 是共享同一组缓冲区的,也就是两组应用如果是服务同一个服务端口的话,就不能真正的同时处理,只能分时并发处理,至少在从缓冲区获取以及写入数据这个行为上是互斥的。

    当然,是否有其它内核能支持真正的同时,我就不清楚了
        141
    momocraft   2016-12-28 14:02:33 +08:00
    人答案都删了..何必 233
        142
    kozora   2016-12-28 14:08:06 +08:00
    那个。。少看知乎 - -
        143
    Yc1992   2016-12-28 14:30:30 +08:00
    @eightqueen 脑子是个好东西
        144
    est   2016-12-28 14:30:46 +08:00
    @SoloCompany 可以直接上 intel 的 dpdk 。
        145
    enenaaa   2016-12-28 14:48:30 +08:00
    @SoloCompany 看一下语境, 人家的“同时”不是你说的“同时”
        146
    SoloCompany   2016-12-28 14:53:43 +08:00
    @enenaaa 所以我说需要一个清楚的定义啊,然后讨论才有基础,在操作系统层面的同时那就是针对 CPU cycle ,在网络层面的话,那就复杂多了,只要是共享介质的,都不可能有真正的同时
        147
    enenaaa   2016-12-28 14:59:16 +08:00
    @SoloCompany 所以我不知道你要表达啥。 我上面强调了两遍 @popstk 的问题跟执行层面无关。
        148
    Showfom   2016-12-28 15:00:45 +08:00
    又不是每个人都是全才 C++编程的不懂服务器不是很正常
        149
    popstk   2016-12-28 15:18:17 +08:00
    @enenaaa
    我一直以为 accept 以后, client 的端口是新分配的, server 也会分配一个新的端口
    刚刚试了下, accept 返回的套接字的本地端口就是监听端口,对端端口是随机分配
    我明白了~
        150
    eightqueen   2016-12-28 15:34:37 +08:00
    @Yc1992 失去了才知道珍惜
        151
    njutree   2016-12-28 16:27:32 +08:00   ♥ 1
    很正常的,以前遇到一个斯坦福的计算机硕士连 ip 地址和 mac 地址都搞混了;每个人的关注点可能不一样,能虚心学习就好。
        152
    keysona   2016-12-28 16:39:41 +08:00
    楼主这以偏盖全的能力不错。

    你真了解过他,就应该明白他是搞 gui 这一块的。

    看到楼上的回复,

    “编程水平,网络编程,大学学过,进微软”

    笑死。

    你打脸我觉得没啥问题,说 真实水平 就太过分了。
        153
    zhujian198   2016-12-28 16:40:11 +08:00
    做一名安静的吃瓜群众
        154
    zhaixiaohu   2016-12-28 16:41:22 +08:00
    图片看不到啊,重新发下
        155
    eightqueen   2016-12-28 16:59:13 +08:00   ♥ 1
    @keysona 我言语上有点过激,我承认。但是一个人受得起多大的赞美,就要经得起多大的诋毁。无论你认不认同,这是互联网的金科玉律。轮子哥自视甚高,一堆吃瓜群众又把他捧成中国顶尖 c++程序员,实际水平可能也就相当于阿里 p6.总之,把逼装大了,就要考虑被打脸的风险。
        156
    popstk   2016-12-28 17:07:53 +08:00
    @julyclyde
    搜了一圈,这也算是个常见的误解,平时用 api 都没留意
    问下什么书或者标准提到了这个 accept 的行为?

    Adherents of the new-random-port theory
    http://stackoverflow.com/questions/22934856/how-many-tcp-conections-on-different-ports-a-sever-can-handle
        157
    shiweifu   2016-12-28 17:08:56 +08:00
    附上轮子哥的博客:
    http://www.cppblog.com/vczh
        158
    poorcai   2016-12-28 17:15:33 +08:00 via Android
    不必揪着一个问题,他的水平当然可以完爆很多 cpp 程序员。
        159
    jsl   2016-12-28 19:47:48 +08:00   ♥ 2
    这个轮子哥早就能看出来是个嘴炮,稍微有点水平的人懒得理他而已,真正的高手哪有那么闲长年累月不知疲倦的在网上为了各种无聊的小问题跟人凶狠撕逼的,其实人的水平不行没什么,喜欢装逼也没什么,关键是这位轮子哥的人品很差,说他什么术业有专攻懂点桌面软件 I 的估计是经常看到这位轮子哥整天跟一帮搞易语言的小学生们撕逼就觉得他在这方面很牛逼吧,其实他在桌面软件方面也同样是个草包,一瓶子不满半瓶子晃荡,他就属于半瓶子晃荡的那种,另外谁说客户端开发不用懂网络编程的基础知识的,写过客户端吗?!
        160
    zgqq   2016-12-28 19:59:01 +08:00
    @jsl 这一句我就不爽了,草包能在微软?那你是什么包?
        161
    jsl   2016-12-28 20:08:40 +08:00   ♥ 1
    @zgqq 一言不合就不爽?!这个倒很像轮子的风格,别人发表观点没有义务保证让你爽或不爽,太脆弱就少上网多看书,整天拿“在微软”给自己脸上贴金也许你自己觉得很牛逼,但我真心觉得非常搞笑。至于轮子君是不是草包这根本无需争论,很明显的事。
        162
    qian19876025   2016-12-28 20:14:28 +08:00
    就一个普通人而已 至于 诸位上升到红卫兵的水平么 。。。。。
        163
    onlyhot   2016-12-28 20:39:32 +08:00 via iPhone
    都这么闲?
        164
    wingyiu   2016-12-28 20:45:56 +08:00
    没人提最大文件描述符问题吗
    /proc/sys/fs/file-max
        165
    lydhr   2016-12-28 21:16:47 +08:00
    是图跪了吗
        166
    xi_lin   2016-12-28 21:18:44 +08:00
    监听用一个端口传输用另一个端口好像 ftp 协议是这样干的?
        167
    julyclyde   2016-12-28 22:12:02 +08:00
    @popstk 不需要讲解啊,正常理解下来就是正确的结果。不知道谁把整个行业带跑了……
        168
    julyclyde   2016-12-28 22:13:23 +08:00
    @xi_lin ftp 是这样,不过人家在协议里有“通知对方”这个功能。而且 ftp 比 TCP “上层次”
        169
    SoloCompany   2016-12-29 00:15:06 +08:00
    @xi_lin ftp 是这样的,但同样不会有 64k 问题,没有规定说传输用的 socket 选择的随机端口不能相同,最后还是回到四元组问题上
        170
    bestie   2016-12-29 00:27:08 +08:00
    @jsl 不知道你的水平如何?
        171
    realpg   2016-12-29 00:34:52 +08:00
    上礼拜一个清华 CS 研究生(未毕业)跟我讨论能不能封掉网站黑名单客户的 MAC 地址实现不让他访问我们网站的效果
    顿时毁三观
        172
    20150517   2016-12-29 00:41:28 +08:00
    @SoloCompany dig 怎么能看绑了多少 IP?我试了下,只显示一个 IP 啊,这是 DNS 啊,和端口什么关系了?
        173
    mdjxyz   2016-12-29 00:41:35 +08:00
    进一家公司你的强项足够强就够了,人家进微软表明了人家在某些方面足够强。
    你基础可能够好,但是没有好到让你进到微软。
        174
    20150517   2016-12-29 00:49:28 +08:00
    我觉得其实他说的东西是以前旧的 FTP 上的东西,以前 FTP 就有个 passive FTP 的讲法,就是连接上了,然后换个端口再和你连接,这种情况下确实只有 65535 个连接,现在 http 不存在这问题的
        175
    hebeiround   2016-12-29 08:17:57 +08:00 via iPhone   ♥ 1
    苍蝇嗡嗡嗡,不是说微软的都牛逼,但是在微软还牛逼的那是真牛逼。
        176
    mz02005   2016-12-29 08:43:41 +08:00
    这里充满了搬砖工对设计师的不屑( ̄_, ̄ )
        177
    kutata   2016-12-29 09:47:29 +08:00
    @radiolover 神回复... 🙄
        178
    jsl   2016-12-29 10:37:44 +08:00   ♥ 2
    被人骂不要只是怨天尤人,轮子君自己恰恰最不懂得术业有专攻的道理,很喜欢揪别人的小辫子,而且每次都很兴奋,所谓“网红”真是到哪都自带一群捧臭脚和洗地的,而且辣么的盲目。无意看到一篇吹捧轮子君的大长篇,好象是什么他妈妈哼了个摇篮曲然后他兴奋的手舞足蹈什么的没兴趣仔细看,于是他就觉得自己是天才这些只有他自己才知道的无聊的故事,很自我膨胀的样子。其实这种名不见经传的小角色谁关心你这些无聊的小事。

    另外这不能算是“基础”,而是一个“常识”,不懂常识叫“无知”而不是叫“术业有专攻”,水平不是问题,不懂还要硬装逼好为人师,人品才是问题,大家觉得笑尿了,是觉得他后面越抹越黑的狡辩,以及恼羞成怒的删评论好笑。其实大大方方的承认错误谁会去笑他?!
        179
    m31271n   2016-12-29 12:06:51 +08:00
    > 术业有专攻。莫以彼之短比己之长。

    现在我也不知道怎么开起重机。
        180
    TaMud   2016-12-29 13:53:44 +08:00
    如果你们认识这个人,表示你们也很 low 了

    本人表示,不认识这个人
        181
    egoate   2016-12-29 20:56:45 +08:00
        182
    eightqueen   2016-12-29 21:16:10 +08:00
    @egoate 霸道柴总微微一笑?
        183
    xcv58   2016-12-30 09:03:19 +08:00 via iPhone
    @jsl 👍
        184
    husinhu   2016-12-31 00:28:05 +08:00 via iPhone
    楼主 知乎上这个回复我是标明不能转载的文章 请删除此贴。 @Livid
        185
    xi_lin   2017-01-03 12:42:58 +08:00
    @julyclyde 了解了~
        186
    xi_lin   2017-01-03 12:44:27 +08:00
    @SoloCompany 学习啦~
        187
    qgbcs1   2017-05-03 01:29:24 +08:00
    @hellodigua 害怕
    1  2  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2290 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 29ms · UTC 13:08 · PVG 21:08 · LAX 05:08 · JFK 08:08
    ♥ Do have faith in what you're doing.