html - 带有 node.js/socket.io 的客户端 tcp?

标签 html node.js tcp websocket socket.io

我是 node.js/socket.io 的新手,所以我真的不知道我在做什么,但我在服务器端有这个:

var app = require('net')
, fs = require('fs')


var server = app.createServer(function (socket) {
  socket.write("Echo server\r\n");
  socket.pipe(socket);
  socket.on('data', function(data) {
    console.log(data);
  });
});

var io = require('socket.io').listen(server)

server.listen(81);

所以当我使用 nc localhost 81 并向它发送数据时,tcp 服务器工作。但是,我不知道如何使用脚本标记从服务器端连接网站上的 tcp 服务器并将数据发送到该服务器。那么,客户端将如何连接到此 tcp 服务器并向其发送数据?

谢谢!

新增代码:

服务器:

var app = require('net')
  , fs = require('fs')

var sockets_list = [];

var server = app.createServer(function (socket) {
  sockets_list.push(socket);
  socket.write("Echo server\r\n");

  socket.on('data', function(data) {
    console.log(data);
    for (var i = 0; i < sockets_list.length; i++) {
        sockets_list[i].write(data);
    }


  });

  socket.on('end', function() {
    var i = sockets_list.indexOf(socket);
    sockets_list.splice(i, 1);
  });


});



server.listen(81);

客户:

<script type="text/javascript" src="http://localhost:82/socket.io/socket.io.js">    </script>
<script>
var socket = io.connect('http://localhost:81');

socket.on('connect', function () {
    socket.send('hi');
});

socket.send('hi1');
socket.emit('hi2');

alert('here');



</script>

发生了什么:

我有一个网页加载需要一个套接字和一个 nc localhost 81 占用另一个套接字。所以 nc 显示网页发送的所有内容。连接网页后, alert('here');被执行并且nc显示了http请求,但是,没有其他任何东西被发送到tcp服务器,并且网页处于不断刷新状态。为什么网页永远不会完全加载,永远不会发送“hi”消息,以及对 tcp 服务器的 http 请求呢?为什么我的 tcp 客户端不会因我的 tcp 服务器而失败?

最佳答案

Socket.io 的 how to use页面向您展示了具体的操作方法。

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost/');
  socket.on('connect', function () {
    socket.send('hi');

    socket.on('message', function (msg) {
      // my msg
    });
  });
</script>

关于html - 带有 node.js/socket.io 的客户端 tcp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7340475/

相关文章:

html - CSS - 按字符对齐行

javascript - 从字符串中提取日期

c# - 仅当逐步调试代码时 Socket.Receive() 才能按预期工作

java - websocket 上可能有不同的语言吗?

sockets - golang write net conn 不返回错误但是socket的另一端收不到数据

c# - 如何处理与 Windows StreamSocket 的断开连接/重新连接

java - 用 Java 获取完整的 HTML

html - JQuery 移动图像布局

javascript - 如何定义一个div覆盖另一个div内的页面?

javascript - Webpack,提取加载程序不会加载后台网址