javascript 的Socket 服务端编程。

这里的Socket编程不是指使用XmlHttpRequest对象, 而是真正的创建一个Socket实现收发数据。 使用Javascript调用Java的NIO接口实现的Socket编程。

 

实现一个简单的EchoServer,创建文件 :EchoServer.js

 

 var socket = __import__('Socket', null, {}) //导入Socket library..
 
 var server = new socket.SocketServer('127.0.0.1', 8000) //创建一个Socket Server.
 
 server.on('listen', function(server) {  //加入服务器开始监听的事件
    print('Event listen on server:' + server.localAddress + ', port:' + server.localPort)
 })
 server.on('clientClosed', function(client) {
    print('Event clientClosed on server:' + client.address + ', port:' + client.port)
 })
 server.on('closed', function(socket) {
    print('Event closed on server')
 })

 
 server.on('accept', function(client){   // 一个新的client连接
    print('new client:' + client.address + ', port:' + client.port)
    client.on('read', function(s) {   //clinet的有数据可读。
        var input = s.read();
        print('read data:' + input)
        s.write(input)       //写数据到,
    });
    client.on('closed', function(s) {
        print('bye bye client.')
        //s.write('input')
    });
 })
  
 server.listen("127.0.0.1", 8000)   //监听一个端口, 并blocking, 直到服务器端被关闭。

 

运行:

# js EchoServer.js
Event listen on server:localhost, port:8000

打开新的窗口输入
#telnet 127.0.0.1 8000

# 服务端显示
Event listen on server:localhost, port:8000
new client:localhost, port:1978
event:read
read data:a
event:read
read data:b
event:read
read data:c

测试服务器连接成功.
 

 

运行上面的代码,还需要一个运行环境和Socket 库, 可以到 http://code.google.com/p/js-shell/downloads/list  下载一个night build.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值