lua 怎么实现路径的socket

luasocket实现的都是端口的连接。那像是/tmp/****应该怎么用。?本人新手。。... luasocket实现的都是端口的连接。
那像是/tmp/****
应该怎么用。?
本人新手。。
展开
 我来答
不屑宠儿
2014-12-25 · TA获得超过578个赞
知道小有建树答主
回答量:373
采纳率:0%
帮助的人:397万
展开全部

socket是面向连接的只传数据,socket和HTTP可以说是两回事,但又是一家人~

我发现现在很多人socket和http混起来了。其实他们不在一个层面上。


首先,socket是一种实现而HTTP是一种协议。

socket最早是由BSD socket也就是*nix系统实现了TCP/UDP协议,是一种实现。而HTTP是应用层协议,它底层通过socket建立连接,所以你如果看UNIX系统编程,那就会发现系统提供了SOCKET调用,却不提供HTTP。


如果上面这些概念你看不明白,那么很简单。你可以和一个HTTP服务器建立一个socket连接,然后发送下面一数据:(记得我每个回车就是一个\r\n)

POST /path HTTP/1.0 
Host: www.aweb.com
Connection: Close
Content-Length: 5

data

这样是不是很熟悉,就是一个HTTP标准的请求报文,发送后你就会发现HTTP服务器会返回一长串HTTP格式的数据,也就是响应报文。这就是一个HTTP的请求响应流程。


最后,我猜测很多人把socket和HTTP混乱的原因,可能是因为概念上的混淆。socket是面向连接的,是一种长连接,如TCP就经过三次握手,就开始传送数据,如果不是一方主动断开,那么连接一直建立着,直到掉线。而HTTP却不是,HTTP是建立连接后,接收完一个报文后,服务器基本上是选择了主动断开连接,这在tomcat之类的服务器除非特殊设置,否则都是这样的。即使connection发送的是keep-alive。


然而,我还是想再说一次,他们真的不是一回事。也许大家都知道HTTP协议是基于TCP协议实现的,却不知道socket实现了TCP,这可能是这笔糊涂账的根源吧,也许是学校应试教育给学生带来的后遗症。他教会我们网络有OSI七层协议,HTTP在应用层,TCP/IP在传输层,却不告诉我们为什么是这样,以及这样的目的是什么?我记得读书的时候,为了考试,花了许多功夫背啊,物理层,数据链路层,网络层,传输层……OK,考试过了,但是又能怎么样呢?


说了这么多,就是觉得学习的时候,要多问问自己这是为什么。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式