欢迎来到天天文库
浏览记录
ID:32524645
大小:59.24 KB
页数:3页
时间:2019-02-11
《帅气的网络游戏》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、帅气的网络游戏FLASH+JAVA开发实时网络游戏[编程基础篇]withSocketAPI本文只要分两部分:FLASH编程和Java编程,此文记录的仅仅是我在探索中的一些收获,其中用了很多个人化的描述语言,并不是业界标准的用语。:)探索笔记:目前国内Flash应用大部分还是在制作精美的动画方面,但据我了解早在Flash4的时代,国外一些人就已经开始将flash技术运用于开发动态网站(和php、asp、jsp结合)和开发应用程序(象网络游戏、远程管理等应用软件)的项目中了。而直到今日,这方面在国内发展
2、还是比较缓慢(有一部分原因是少数人掌握了关键技术,但不愿意共享出来)。因此,我将致力于推动国内flash技术在开发动态网站和开发应用程序方面的发展,并将自己亲手写的代码公布到网络中,以便于大家共享、交流。于2003-10-24涉及到的知识范畴:1.socket概念2.java编程语言3.FlashMXActionScript中的XMLSocket实时网络游戏也属于大型应用程序范畴,一个关键环节就是建立实时主动通信环境(相对的,有个称为被动通信的方式,最好的例子就是你正在用IE浏览器浏览一个网站,此时
3、浏览器和服务器之间就是被动通信方式:如果你不点击一个连接,发送一个WEB页面请求到WEB服务器,WEB服务器是不会主动向你的浏览器发送任何页面的)。在此SocektAPI就成为了首选。限于篇幅,这里不再过多解释socket的含义,只希望大家能记住一点,只要建立能够实时通信的应用程序就需要建立socket连接。【FLASH编程部分】从mx自带的as字典中可以看出,Flash在网络通信方面得到了非常大的加强。“TheXMLSocketobjectisusefulforclient-serverappli
4、cationsthatrequirelowlatency,suchasreal-timechatsystems”注意最后的一小段话:suchasreal-timechatsystems(译文:例如实时聊天系统)通过调用XMLSocket方法FLASH就可以和一些由强大语言编写的服务器应用程序进行通信,进而开发出各种实时信息交流系统。所以我们的目标锁定在XMLSocket!另外值得注意的是:有很多人一看到XMLSocket前面的XML三个字母,就觉得头疼,以为必须先熟悉甚至精通XML才能使用这个对象及
5、其方法,但我要说的是在你不太了解XML的阶段,只要把XML信息看成是一个随意长度(>0)的字符串,把XMLSocket看成是一个只是用来发送字符串数据的对象就好办多了。我们还是从分析代码着手,来跨进开发FLASH实时网络游戏的大门吧://建立XMLSocket对象varmySocket=newXMLSocket();mySocket.connect("127.0.0.1",3000);//==========测试建立socket连接是否成功==========================mySo
6、cket.onConnect=function(success){if(success){_root.ifconnectok="ok";trace("connectok");}else{_root.ifconnectok="failed";trace("connectfailed");}}//======Endfor测试是否连接成功=============================//成功建立连接后向服务器端发送一个测试用的字符串,以便服务器端能显示出信息。mySocket.send("th
7、isisatestingString!!!");FLASH中的程序就先到此,因为是基础篇,所以不会涉及太多的其他东西,呵呵。【java程序部分】importjava.io.*;importjava.net.*;publicclassLocalServer{protectedintlistenPort=3000;publicvoidacceptConnections(){try{ServerSocketserver=newServerSocket(this.listenPort);//同客户机的Soc
8、ket对应,在服务器端,我们需要ServerSocket对象,参数是兼听的端口号SocketincomingConnection=null;//创建一个客户端的Socket变量,以接收从客户端监听到的SockethandleConnection处理System.out.println("Server端正在等待一个socket连接......");incomingConnection=server.accept();//调用该ServerSocket的accept()来
此文档下载收益归作者所有