今天我刚刚开始使用Node.js,并认为我会从我认为的简单脚本开始:通过套接字连接到服务器,以及发送一些数据,并接收回来。我正在创建一个命令行实用程序。浏览器中什么都没有。Node.js:使用套接字连接到服务器
一个服务器的例子可能是memcached,beanstalkd等等。看起来net模块是这个工作的正确工具,但是我仍然对Node.js的处理方式有些模糊。一些帮助将不胜感激。
更新#1
让我看看,如果我能打破这在为一对夫妇的小问题。我甚至不喜欢问这样的问题,但Node.js文档非常稀少,6个月前编写的大多数文档已经过时。 1)所以我可以使用net.stream.write()发送数据到远程服务器,但我不知道如何得到回应。我什至不知道如何测试write()完成时的时间,因为它不需要回调。
2)关于整个event.emit事情如何工作的一些线索会很棒。我认为这是我在这些事情中失踪的关键石头。
更新#2
这里就是我仍在努力实现一个客户端程序混乱。让我示意一个典型的发送请求=>获取响应系统:
1)我将回调函数绑定到net模块以获取响应和其他事件,其中包括必要的绑定以从服务器获取响应。
2)我使用stream.write()向服务器发送请求。
3)我什么都不做,因为我绑定的“数据”事件会从服务器得到响应。
这里的事情变得棘手。假设我在调用绑定的“data”事件之前调用stream.write()两次。现在我有一个问题。当“数据”事件确实发生时,我如何知道这是2个请求中的哪一个?我保证答复会按照请求的顺序发生?如果回复的顺序不同,会怎么样?
没有多少时间ATM,但净。 http://nodejs.org/api.html时钟在侧栏的'net.Server'上。你有它。一切都基于事件,你必须监听流的'data'事件。这个例子实际上更像是一个基本的回显服务器。如果你愿意,我可以在以后为你做更多的例子。 – 2010-10-19 07:16:59
如果您需要知道客户端在哪个“写入”响应中很重要,那么您应该为您发送/接收的数据添加一个id或类似内容。但这是网络的一个普遍问题,与基于事件的方法无关。 – 2010-10-19 22:07:33