javascript可以访问系统端口吗?如果是,是否可以编写一个服务器(C 中的 TCP/UDP),数据可以从 javascript 发送到该服务器?
user1218191
问问题
5589 次
2 回答
2
假设您不要求Node.js。
您可以用 C 编写 WebSocket 服务器并将您的 JavaScript 连接到它。已经有很多实现,所以您不必自己编写。
当您启动服务器并将其绑定到特定主机名和端口时,您可以通过以下方式从 JavaScript 连接:
var ws = new WebSocket('ws://hostname:port');
ws.onopen = function () {
console.log('Connected');
};
ws.onmessage = function () {
console.log('New message...');
};
ws.send('Some message...');
例如,这里有一个http://code.google.com/p/cwebsocket/。
据我所知,WebSocket 是基于 TCP 的。
另一种选择是创建使用 AJAX 的 HTTP 服务器,带或不带长轮询。
于 2013-01-22T12:11:02.947 回答
2
“系统端口”是什么意思?串口?AGP 端口?用不同的编程语言重写应用程序?在一般用法中没有“系统端口”这样的术语。您似乎指的是套接字。
在这种情况下....
有点。您可以使用 javascript 连接到任何 TCP 端口 - 但您只能使用 HTTP 通过该端口进行通信。可以通过 websocket 进行隧道通信——但这需要在服务器端使用代理来连接到传统服务器。TCP 是流协议,但 websocket 是面向消息的。
如果您从头开始实现自己的服务器,那么在已经了解 websockets(例如 node.js)的基础上构建会容易得多。
您不能使用 UDP(作为建立 TCP 连接的副产品的 DNS 查找除外)。
于 2013-01-22T12:38:23.650 回答