本系列文章为对Node学习过程中的总结,默认Node已经安装成功,具体安装方法百度即可。
第一步,在Node中创建一个新的TCP服务器
//加载net模块
var net = require("net")
//调用net.createServer()方法创建一个新的TCP服务器
var chatServer = net.createServer()
//用on方法添加事件监听,当有新的客户端通过网络连接到服务器,就会触发connection事件,进而调用函数
chatServer.on("connection",function(client){
client.write("Hello!\n");
client.write("World!\n");
client.end()
})
//调用listen,让Node知道监听8080端口
chatServer.listen(8080)
第二步,用Putty连接Node TCP服务器
(对于windows来说,Putty可以作为Telnet客户端,并且是免费的)
1、下载putty双击压缩文件,直接运行exe
2、进行连接配置
输入要连接的ip地址,下面可以保存临时的Ip地址,懒人福利~~选择对应保存过的ip地址,然后点击load,会加到上面,然后点击open,进入到下一步。
3、错误处理
窗口上面显示的IP即为连接的IP地址,错误弹框表明服务器关闭了网络连接
解决方法:
(1)查看服务器防火墙,可将其关闭
(2)查看sshd_config配置信息,将字段UseDNS的值设为no
(3)查看/etc/hosts.deny文件中的内容,清除掉其中的限制IP(远程连接的客户端IP可能就被限制在其中)
(4)若安装了DenyHosts之类的防火墙软件,可暂时将其关闭
经以上方法修改设置后,PUTTY便可正常连接服务器
4、连接成功 :输入用户名和密码即可。
第三步,进行通信
可以有几种方式:从putty发送数据到服务器,也可以在不同的客户端之间通信。
需要说明的是,从putty发送数据之后,node会吐出
<Buffer 48 59 6c ...> //中间部分省略
一堆代码,其实这是数据对应打印出来的十六进制格式,因为js无法很好的处理二进制数据,所以Node提供了一个Buffer库来帮助服务器,需要可以用toString()方法解析成字符串,也可以不变,因为两端都可以对二进制进行处理。
以上就实现了最基本的通信,不过这并不完善,有很多可以改进和扩展的地方,欢迎大牛们来踩。