今天就来点新鲜的....脱离一下后台的使用 :)
因为在网络上都没看到什么使用socket的教程或说明, 大致都只是简单的带过... 而如果只是说明从字典就可以得到的, 再过不久会因为忙而很少来... 就写给大家去慢慢研究吧
首先还是要按步骤来说明, 毕竟使用这个类的人还是很少... 需要从基本介绍说起, 在Flash提供了XMLSocket的类, 允许对服务器直接建立固定的连线, 所以这种固定连线方式就叫socket..我们可以通过这个socket传送或接收xml数据.. 传送数据的管道有两种, 一种大家已经很熟悉了...就是通过后台传送, 后台的连接是通过HTTP(Hypertext Transport Protocol), 这也是最基本的方式, 但这个方式的缺点就在于传送上会延迟... 最显著的例子就是再多人连线的情况下....因为后台需要更新数据了之后再把数据传给所指定的用户端, 所以造成在玩游戏时会断断续续的感觉, 此方法只适合制作在棋类游戏方面.... 另外一种就是我所要介绍的数据通过Socket传送, 你可以使用TCP(Transmission Control Protocol)直接以数据流的方式传送数据到服务器, 至于HTTP和TCP之间什么不同, 而为何TCP比较快呢?? 这个我不多说了... 你们可以去找些关于 Data Communication 或 Networking的书籍.... 然后看看里面怎么说明OSI MODEL的7个结构层, TCP是在Transport Layer, 而HTTP/FTP/SMTP等都在之上....(书籍: Data Communications and Networking 作者:Behrouz A. Forouzan)这本里面说得蛮详细的
再来我们需要一个服务器, 这个服务器需要打开一个端口让客户端进行连接... 会熟悉编程的朋友可以通过C, Perl或Java来编写属于自己风格的服务器, 当然我不会叫大家花时间再去编写了, 因为在网络上已经有提供一些服务器了...在这里提供给大家下载的网址中有些有提供说明:
- 到 Sun 网站下载 JRE, http://java.sun.com/j2se/1.4.2/download.html
- 把下载好的 JRE 进行安装....
- 安装好之后进行以下设定
- 检查你的JRE, 记录当中lib的路径, 如C:\Program Files\JRE\lib
- 点 "我的电脑" 右键, 选择最后一个properties, 然后选择Advanced, 再选择Environment Variables, 如图:
http://www.7880.com/Upload/2004_Pack/200481225712431.jpg" target=_blank>
http://www.7880.com/Upload/2004_Pack/200481225712431.jpg" onload="if(this.width>screen.width-333)this.width=screen.width-333" border=0>
- 然后看看 system variables 有没有一个叫CLASSPATH的, 如果没有就新增一个, 值设定为JRE的lib路径, 已经有这个变量的朋友就在值之后加上 ; 再填入路径.. Windows 98或ME的朋友在 c:\ 盘底下打开autoexec.bat加入
最后就是安装socket服务器, 主要是把之前我提供的服务器下载之后打开, 当中的jar格式文件丢到你们的lib文件夹当中, 再来把java文件和class文件放在一起, 如放在C:\盘下, 如果有设定路径的朋友最好不要放在有空格文件夹的名字当中... 因为JAVA对路径空格容易出错... 最后就是执行服务器, java <服务器文件名(class)> <端口(1024以上)>
java CommServer 8888 要是启动之后,会看到这类讯息....
[12/8/2004 3:16:24] Attempting to Start Server [12/8/2004 3:16:25] Server Started on Port 8888 这样服务器就启动了 :) 如果有人连线进来也会从这个窗口看到讯息
[12/8/2004 3:25:49] 192.168.10.175 connected to the server. 好啦....上半部就说到这...你们慢慢去想吧