首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Node.js
Express
PPA for Ubuntu
ppa:chris-lea/node.js
V2EX  ›  Node.js

nodejs net 模块 TCP 通讯 局域网多用户连接提示 Error: connect ECONNREFUSED

  •  
  •   lzm1005 · 90 天前 · 1104 次点击
    这是一个创建于 90 天前的主题,其中的信息可能已经有所发展或是发生改变。
    nodejs net 模块制作一个 TCP 客户端连接一个固定的 TCP 地址通讯(如:192.168.1.100:8080), 在同一个局域网内有一个用户连接没有中断的情况下 其它用户连接提示 Error: connect ECONNREFUSED 这是为什么, 有什么办法实现多个用户同时连接!
    第 1 条附言  ·  90 天前

    server.js:

    var express = require('express'); // 引入express模块
    var app = express();
    var bodyParser = require('body-parser');
    
    // 创建 application/x-www-form-urlencoded 编码解析
    var urlencodedParser = bodyParser.urlencoded({ extended: false })
    
    app.get('/', function(req, res){  // 指定更目录
    	res.sendFile( __dirname + "/index.htm" );
    });
    app.post('/connect', urlencodedParser, function(req, res){
    	client.connect(req.body, function() {  
    	    console.log('CONNECTED SUCCESS');
    	}); 
    });
    
    process.on('uncaughtException', function (err) {
    	//打印出错误
    	console.log(err.code);
    });
    var server = app.listen(888, function(){
    	console.log('listen on: 888');
    });
    

    index.html

    <div class="formConnect">
            <input type="text" id="host" placeholder="请填写HOST">
            <input type="text" id="port" placeholder="请填写PORT">
    	<button id="connect_btn" onclick="air_connect();">连接</button>
    </div>
    
    <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
    <script type="text/javascript">
    	function air_connect(){
    		host = $.trim($('#host').val());
                    port = $.trim($('#port').val());
    		$.post('/connect', {'host':host, 'port':port}, function(backData){
    			console.log(backData)
    		});
    	}
    </script>
    

    比如 监听电脑的IP:192.168.1.05 同局域我不同电脑访问192.168.1.5:888 去连接同一TCP地址 就会报错

    第 2 条附言  ·  90 天前
    上面 server.js 下面代码忘记附上了:

    var net = require('net');

    var client = new net.Socket();
        1
    lsp7572   90 天前
    不是 Socket 的 C/S 通信模式吗,8080 作为监听端口要分配别的 socket 和 client 通信吧
        2
    misaka19000   90 天前
    上代码
        3
    zwh2698   90 天前 via Android
    服务器端是不是设置了相应的个数?
        4
    aa514758835   90 天前
    没有端口复用吧,猜的
        5
    lzm1005   90 天前
    @misaka19000 代码已经附上
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3760 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 07:25 · PVG 15:25 · LAX 00:25 · JFK 03:25
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1