日期:2014-05-17  浏览次数:20658 次

HTML5可以做一个tcp socket的server吗?
如题...

客户端有可能不是电脑,而是其它设备通过tcp socket连接.

------解决方案--------------------
客户端设备可以通过tcp socket直接向服务器上的WebServer发HTML协议指令(注意是协议指令)

但我不明白的是,如果你的客户端设备上没有浏览器,那么服务器上也须是Windows程序,与WebServer通信有什么意义?有HTML有什么关系?反之如果你的客户端设备上有浏览器,又何必要下探到socket层与WebServer通信?
------解决方案--------------------
连服务器是当然,只不过是不是一定是WebServer应用?简单说就是是否要在客户端上看网页,如果不需要,则在服务器端弄个windows程序也使用socket同客户端直接通信,跟HTML一点关系都没有
------解决方案--------------------
HTML5规范中有WebSocket的部分应该可以实现你的需求。

需要说明的是你在标题中提到“使用HTML5做一个socket server”的说法是不正确的。你只能去实现一个符合HTML5规范的WebSocket Server。因为HTML5只是一个规范,其中Client部分浏览器基本都实现了。而Server部分目前也有一些现成的实现,如果你不喜欢也可以自己做。

还有一个关键就是你提到的TCP协议,WebSocket是基于TCP协议的一个类HTTP协议。它可以象TCP一样保持双向长连接用以传输数据。但如果你的Client端只支持TCP的话就需要你自己去实现Client部分的协议。

最后,看你的描述不知道为什么要设计HTML5?你提到客户端有两种"直接的设备"和"PC",如果PC客户端的技术方案确定使用HTML5的话,为了保持服务端的接口唯一性,到是可以在"直接的设备"上实现一个简单的WebSocket协议。否则我认为根本没必要使用HTML5.