当前位置:嗨网首页>书籍在线阅读

11-套接字服务器程序的基础架构

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

11.2.2 套接字服务器程序的基础架构

ElectroServer已经准备就绪,也介绍了JavaScript的API,现在要讲解一些如何设计基于套接字服务创建多玩家(多用户)应用程序的知识。使用套接字服务表示不仅要在创建一个客户端应用程序用于用户输入,还要创建一个服务器端的程序用于将一个用户的输入分发给其他与该用户连接的用户。

聊天程序是一个很好的例子。大多数的聊天程序需要一个用户进入一个房间(一个逻辑空间,用户在里面聊天或交换信息),在房间中,用户可以看到同一个虚拟空间中其他用户的消息。在这个房间中,客户端与其他用户“连接”。通常不是直接连接(例如点对点),而是通过一个套接字服务器的端口进行连接。

对于聊天消息来说,这个套接字服务器扮演者交通警察的角色。它监听一个端口(本例中8989),用于接收客户端进来的消息。这些消息需要处理成服务器可以理解的格式才能被处理。JavaScript的API将帮助应用程序进行格式化处理。

当套接字服务器从客户端收到一个消息,它将不同客户端发送的消息进行路由,最终发送给聊天室中其他客户端。然而,除了进行服务器端的处理它还能做更多的事情,例如保存当前的消息列表,这样在聊天正在进行时进入聊天室的用户就能够看到之前说了什么,还能够扫描聊天中的不文明词汇,对输入内容的用户奖励积分,或者其他任何能够想到的事情。

当服务器处理完消息并将消息发回之后,客户端再进行处理。在聊天程序中,这个处理过程通常是将消息显示在画布上。