首页 文章

客户端tcp与node.js / socket.io?

提问于
浏览
1

我是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显示网页发送的所有内容 . 我连接网页后,提醒('这里');执行并且nc显示http请求,但是,没有其他任何内容发送到tcp服务器,并且网页处于持续刷新状态 . 为什么网页永远不会完全加载,'hi'消息永远不会被发送,以及对tcp服务器的http请求怎么样?为什么我的tcp客户端无法使用我的tcp服务器失败?

1 回答

  • 3

    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>
    

相关问题