简单的服务器
问题
你想要提供一个网络服务。
方法
创建一个简单的TCP服务器。
使用Node.js
net = require 'net'
domain = 'localhost'
port = 9001
server = net.createServer (socket) ->
console.log "Received connection from #{socket.remoteAddress}"
socket.write "Hello, World!\n"
socket.end()
console.log "Listening to #{domain}:#{port}"
server.listen port, domain
使用示例
使用简单的客户端访问:
$ coffee basic-server.coffee
Listening to localhost:9001
Received connection from 127.0.0.1
Received connection from 127.0.0.1
[...]
详解
传递给@net.createServer@的函数接受一个新的socket对象,这个socket对象会提供一个指向客户端的链接。这种简单的服务直接就和访问这个沟通,但如果是比较繁忙的服务器。会把这个socket单独传递给一个专属的处理器。然后会过来继续会过来完成任务——等待下一个客户端请求。
参看简单的客户端, 双向服务器, 以及双向客户端这几分“菜肴”.
练习
- 添加自定义domain和端口的支持,可基于命令行参数,也可以使用配置文件。