一、建立监听服务(接收客户端响应,并返回给客户端数据)
demo1 创建监听服务,用来接收客户端的响应,并返回给客户端数据
var net = require('net');
var server = net.createServer(function(socket){
console.log('客户端与服务器端连接已经建立');
//接收客户端数据,并向客户端返回数据
socket.on('data', function(data){
console.log(data.toString()); //data是buffer,必须转换
socket.write('hello'); //服务端接收到客户端数据之后返回给客户端"hello"
});
socket.on('end', function(){
console.log('连接中断');
});
});
server.listen(4567, 'localhost', function(){ //指定localhost,只有本地能访问
address = server.address();
console.log('被监听的地址信息为:%j', address);
});
(1)先启动 socket_server.js:node socket_server.js
(2)另开一个窗口,输入:telnet 127.0.0.1 4567,连接服务器
(3)客户端连接服务器成功后,输入:I am Chinese,回车,发送消息给客户端
(4)最终,服务端显示客户端的I am Chinses消息,并返回hello给客户端,客户端显示服务器的响应消息:hello
二、建立客户端Socket
net.connect(port, host, callback
服务器端同上,(可不指定本地ip,即server.listen中去掉localhost)
var net = require('net');
var client = net.connect('4567', 'localhost', function(){
console.log('已经与服务器连接');
client.write('Yesrn');
});
client.on('data', function(data){
console.log(data.toString());
client.end();
});
client.on('end', function(){
console.log('客户端连接中断');
});
(1)先启动server:node socket_server.js
(2)再另开一个窗口,启动client:node socket_client.js
三、使用服务端Socket建立HTTP服务器
HTTP/1.1 OKrn
Content-length
var net = require('net');
var server = net.createServer(function(socket){
socket.on('data', function(data){
console.log(data.toString());
socket.write("HTTP/1.1 OKrn");
socket.write("Content-Type:text/htmlrn");
var s = "<h1>Hello World</h1>"
socket.write("Content-length:" + s.length + "rnrn");
socket.end(s);
});
socket.on('end', function(){
console.log('连接中断');
});
});
server.listen(4567, 'localhost', function(){
address = server.address();
console.log('被监听的地址信息为%j', address);
});
四、建立UDP服务端和客户端
UDP和TCP
var dgram = require('dgram');
var server = dgram.createSocket('udp4');
server.on("message", function(msg, info){
console.log("msg:" + msg + ' from ' + info.address + ":" + info.port);
});
server.on("listening", function(){
var addr = server.address();
console.log('server listening:' + addr.address + ":" + addr.port);
});
server.bind(12345, 'localhost');
var dgram = require('dgram');
var message = new Buffer("Node.js高级培训");
var client = dgram.createSocket("udp4");
client.send(message, 0, message.length, 12345, "localhost", function(err, bytes){
client.close();
});
原文地址:https://blog.csdn.net/qq_48968230/article/details/130814245
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_22232.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。