我是编程新手。使用node.js开发TCP客户端服务器应用程序。启动TCP服务器,然后启动客户端。现在客户端每隔10ms继续发送每个数据包11k字节的数据。过了一段时间虽然客户端正在发送数据包,但服务器没有接收数据。
var net = require('net');
var server = net.createServer();
var count=0;
var totalrcvdbytes =0;
var totalcount=0
var conn;
var port = 9000
server.on('connection', onClientConnected);
server.listen(port, function() {
//console.log('server listening to client on port %j', server.address());
console.log('server listening to client on port ' + port)
});
function onClientConnected(conn) {
var remoteAddress = conn.remoteAddress + ':' + conn.remotePort;
count=1
var time = new Date();
timestamp = time.getHours() + ":" + time.getMinutes() + ":" +
time.getSeconds()
conn.write("Server Accepted connection")
conn.on('data', onConnData);
conn.once('close', onConnClose);
conn.on('error', onConnError);
setInterval(Callbacktimer,1000)
function onConnData(d) {
var time = new Date();
timestamp = time.getHours() + ":" + time.getMinutes() + ":" +
time.getSeconds();
count = count + 1
totalrcvdbytes = totalrcvdbytes + d.byteLength;
}
function onConnClose() {
console.log("\n")
console.log('connection from %s closed', remoteAddress);
}
function onConnError(err) {
if(err.code == 'EADDRINUSE') {
console.log('Connection %s error: %s',remoteAddress ,err.message)
}
else
{
console.log('Connection %s error: %s',remoteAddress ,err.message)
}
}
}
function Callbacktimer() {
console.log("Data Rcvd:",totalrcvdbytes
}
var net = require('net');
var sleep = require('sleep');
var client = new net.Socket();
var pktbuffer;
function createpktbuff()
{
var str = "t";
pktbuffer = str.repeat(11405);
return pktbuffer;
}
client.connect(9000, '10.121.56.99', function() {
//client.write('Hello, server! Love, Client.');
});
client.on('data', function(data) {
console.log('Connected and Received: ' + data);
var count =1;
while (1)
{
var pkt = "DataReady" + createpktbuff() + " Datacompleted";
client.write(pkt);
sleep.msleep(10)
console.log('Sent %d bytes in packet Num : %d ', pkt.toString().length,count);
count = count +1
}
}
//client.destroy(); //disabled for test purpose
});
client.on('close', function() {
console.log('Connection closed');
});