javascript可以访问系统端口吗? 如果是,是否可以编写一个服务器(C中的TCP / UDP),可以从javascript发送数据?
答案 0 :(得分: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的。
另一个选择是使用或不使用长轮询创建HTTP服务器使用AJAX。
答案 1 :(得分:2)
“系统端口”是什么意思?串口? AGP端口?用不同的编程语言重写应用程序?一般用法中没有“系统端口”这样的术语。你似乎指的是套接字。
在哪种情况下......
排序。您可以使用javascript连接到任何TCP端口 - 但您只能使用HTTP通过该端口进行通信。可以通过websockets隧道通信 - 但是这需要服务器端的代理连接到a conventional server。 TCP是一种流协议,但是websockets是面向消息的。
如果您从头开始实现自己的服务器,那么在已经了解websockets的东西(例如node.js)之上构建它会容易得多。
您不能使用UDP(DNS查找除了作为建立TCP连接的副产品)。