通过 TCP/IP 接收输入并使用它来更新 HTML

Posted

技术标签:

【中文标题】通过 TCP/IP 接收输入并使用它来更新 HTML【英文标题】:Receive input over TCP/IP and use it to update HTML 【发布时间】:2010-04-20 04:24:46 【问题描述】:

这一定是一个常见问题解答,所以有人可以将我引导到“傻瓜网络编程”网址吗?

服务器希望在事件发生时将信息推送到客户端或向所有人广播 - 而不是客户端不断轮询服务器“以防万一”。然后客户端更新浏览器页面显示。

我该怎么做? (告诉你这是一个 n00b 问题)

我应该有一个线程在套接字上接收信息,然后将其写入数据库,浏览器显示 (php) 可以使用 html 刷新标记进行处理,还是什么?

对不起,听起来很愚蠢。

【问题讨论】:

也许你最好告诉我们用户故事,而不是看起来不太好的技术术语。是 HTTP 服务器吗?那时不需要tcp/ip。防火墙客户端呢?你不能推动他们任何事情。就像聊天一样吗?让客户轮询新信息。但再次 - 从用户的角度告诉我们您的应用程序 【参考方案1】:

我想你可能正在寻找类似彗星的东西:http://en.wikipedia.org/wiki/Comet_%28programming%29

Comet 有点与轮询相反,在轮询中,您有一个长期存在的 HTTP 连接,它允许您将数据从服务器推送到客户端。不幸的是,除了上面的链接之外,我没有什么可以借的,但希望它能让你朝着正确的方向前进。

更多可能有用的链接:

https://***.com/questions/tagged/comet

http://ajaxpatterns.org/HTTP_Streaming

【讨论】:

【参考方案2】:

对不起,伙计们,显而易见的答案是http://en.wikipedia.org/wiki/Push_technology#HTTP_server_push

【讨论】:

【参考方案3】:

也许上一篇文章中显而易见的答案可以解决“问题”。另一种方法是自动强制浏览器刷新页面。然后,服务器可以提供可供浏览器使用的信息。使用带有属性刷新和内容的元标记

【讨论】:

【参考方案4】:

有多种方法可以剥洋葱皮: 1.带定时器的iframes 2.ajax。 3.comet——服务器推送 3.等

别忘了最新的 html5 websockets - 甚至是 IE9:http://ezinearticles.com/?HTML5-Web-Sockets-Example&id=4239499

【讨论】:

以上是关于通过 TCP/IP 接收输入并使用它来更新 HTML的主要内容,如果未能解决你的问题,请参考以下文章

TCP/IP协议

TCP/IP网络编程:05TCP原理 --简单描述

在 Windows 7 64 位上使用 TCP/IP 套接字发送/接收结构

HTTP协议

HTTP请求时,TCP/IP通信传输流

[转]socket 编程和 TCP/IP协议