如何快速和小白解释 什么是 handlers?

2016-09-09 16:09:52 +08:00
 redhatping

谢谢 各位? 其实小白就是我

4367 次点击
所在节点    程序员
31 条回复
billlee
2016-09-09 19:58:59 +08:00
handle n. a part of an object designed for holding, moving, or carrying the object easily, 手柄、握把
v. to deal with, have responsibility for, or be in charge of, 处理、负责、掌管; to operate or control something that could be difficult or dangerous, 操作(复杂或危险的东西)

所以 handler 是处理者、处理器的意思
pysama
2016-09-09 21:49:17 +08:00
那到底啥是句柄?
Zhang
2016-09-09 21:56:08 +08:00
@FrankFang128 字段!
yxwqwgz
2016-09-09 21:58:14 +08:00
就是窗口的学号。
yxwqwgz
2016-09-09 22:03:57 +08:00
不对,少看一个字。 handle 的原意是处理, handler 可以翻译为处理者。
可以不用翻译的。很多英文,一翻译味道就不对了。而且写代码的人用的都是英文。
pysama
2016-09-09 22:12:53 +08:00
啥又是套接字呢?

相关解释:我们通过 ip 和端口来标注网络上的应用程序, 那么不同主机上的两个程序通信时,他们之间如何标识?答案是使用四元组 <IP-A, portA , IP-B, portB> , IP:port 就确定了一个 socket (套接字),它就像一个插口,应用程序插入这个插口就可以相互通信了。

上面是网络上的答案。看着好像挺简单,仔细一想又迷茫了。回想建立 tcp 连接的主要过程就是向目标 ip 和端口发请求,经历成功的三次握手后,应用层就可以传输数据了。 那 socket 在这个过程的作用是啥?提供一个 ip : port 规则吗?还是我理解的有问题?

求大神有浅显易懂的解释~~
tianshilei1992
2016-09-09 22:32:49 +08:00
@pysama 我是渣渣,我来尝试给你解释一下哈,如果不正确,请大家平和指正哈。
Socket 为什么叫套接字?不晓得…很神奇……
其实它本身的英文解释是“插座,插口”,我们通过四元祖<source ip, source port, destination ip, destination port>来定义了一个“管道”,通过这个“管道”你可以读写数据,这个“管道”可以是 TCP 的一个连接,也可以是 UDP 的 ??…(这个地方不知道应该如何表达和 TCP 连接对应的玩意儿)。通过这个“管道”,我们就可以唯一的和远程主机上面的一个进程通信啦。
想象我们平时操作一个真正的水管的时候都是在它的两端进行操作的,假如这个水管在墙上给你留个口,让你往里面倒水,那么这个口就可以理解为一个 socket (插口),假如我们需要同时给好几个目的地(指代远程主机上的不同的进程),我们就需要有几个插口,想给水供水就哪个插口倒。
Socket 封装了底层通信的细节,使得你有这个玩意儿了,你就知道我可以和远程主机通信啦,不需要管下面怎么实现的。就像是你往水管倒水,你不需要管这个水为了达到远端是不是要经过加压呀,还是经过了什么滤芯什么的,你所做的只需要往这里面倒就行了。
同样,作为接收端,你想要水,就打开这边的插口(可能上面你放了一个水龙头,哈哈)即可,你也不需要管水怎么来的。
不知道这样的解释怎么样?
kittygirl0070
2016-09-09 22:47:29 +08:00
把英语学好,啥事儿没有
pysama
2016-09-09 23:22:13 +08:00
@tianshilei1992 多谢
我就这么理解,它是个插口,是个封装了一些事情的插口,它能帮助传输层干活儿。
pyufftj
2016-09-10 12:34:11 +08:00
@FrankFang128 是的。不知道是哪个人翻译的,听起来很高大上的样子,其实和本意差太远了。。学院派就是这样,生怕别人看懂。这样就显示不出来他们的水平了
yimity
2016-09-12 08:33:08 +08:00
就是接盘侠。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/305104

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX