TCP/IP协议原理,在node中使用其应用层的http(s),websocket,tcp协议进行通信

详情见:

http://note.youdao.com/noteshare?id=82c436360ecfc7a146f4433e9cadc840&sub=B79B7EF52C9D420F83D28E201B48FCD7

关于TCP/IP协议所处的位置,上层模型基于下层模型,也就是我们在使用HTTP协议时时基于TCP/IP实现的。

三次握手(建立连接),四次挥手(断开连接)

ssl作为安全的一种方式(https)

websocket与tcp/ip

 

WebSocket在浏览器中是可以直接new的,所以该代码在浏览器中是可以直接执行的

 

上层自己的证书,当然在浏览器访问时还会提示有风险,因为这是自定义的

openssl genrsa 1024 > /path/to/private.pem

openssl req -new -key /path/to/private.pem -out csr.pem

openssl x509 -req -da

使用nodejs中内置的https模块和fs进行服务器的搭建:

 

htttp 协议缓存是对一些静态资源进行缓存(自动进行的)与ajax不同

 

Etag和if-none-match生成的随机数进行对比,来表现静态资源是否被修改

last-modified作为服务器中返回的最后修改的时间和if-modified-since已存的数据进行比对来判断静态资源是否被修改

 

自定义请求头中:类似token这种形式。

响应头:content-type可设置服务器返回资源的类型和编码方式;cor作为跨域处理的一种处理如下图;

 

 

 

 

代码附录:

tcpserver.js

//一般端游用tcp通信

const net = require('net');

 

//创建一个TCP服务器

var server = net.createServer(function(){

    console.log("some on connect");

})

 

//设置监听接口

server.listen(3400);

//监听连接时间

server.on('connection',function(socket){

    socket.write('游戏登录成功');

    server.on('data',function(){

        socket.write('晋级成功');

    })

})

tcpclient.js

//一般端游用tcp通信

const net = require('net');

 

var client= net.Socket();

 

client.connect(3400,'127.0.0.1',function(){

    setTimeout(function(){

        client.write('晋级成功')

    },1000)

})

client.on('data',function(data){

    console.log(data.toString());

})

wsserver.js

const WebSocket = require('ws');

 

const WebSocketServer = WebSocket.Server();

 

const wss = new WebSocketServer({

    port:3000

})

 

wss.on('connection',function(ws){

    ws.send('连接成功');

    setTimeout(() => {

        ws.send('想听你说话');

    }, 2000);

})

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值