简介:

实时网络游戏也属于大型应用程序范畴,一个关键环节就是建立实时主动通信环境,在此Socekt API就成为了首选。通过调用XMLSocket方法,FLASH就可以和一些由强大语言编写的服务器应用程序进行通信,进而开发出各种实时信息交流系统......

本文分两部分:FLASH编程 和 Java编程,此文记录的仅仅是我在探索中的一些收获,其中用了很多个人化的描述语言,并不是业界标准的用语。 :)

探索笔记:

目前国内Flash应用大部分还是在制作精美的动画方面,但据我了解早在Flash4 的时代,国外一些人就已经开始将flash技术运用于开发动态网站(和php、asp、jsp结合)和开发应用程序(象网络游戏、远程管理等应用软件)的项目中了。而直到今日,这方面在国内发展还是比较缓慢(有一部分原因是少数人掌握了关键技术,但不愿意共享出来)。因此,我将致力于推动国内flash技术在开发动态网站和开发应用程序方面的发展,并将自己亲手写的代码公布到网络中,以便于大家共享、交流。

涉及到的知识范畴:

1. socket概念

2. java编程语言

3. Flash MX ActionScript中的XMLSocket

实时网络游戏也属于大型应用程序范畴,一个关键环节就是建立实时主动通信环境(相对的,有个称为被动通。信的方式,最好的例子就是你正在用IE浏览器浏览一个网站,此时浏览器和服务器之间就是被动通信方式:如果你不点击一个连接,发送一个WEB页面请求到WEB服务器,WEB服务器是不会主动向你的浏览器发送任何页面的)。在此Socekt API就成为了首选。限于篇幅,这里不再过多解释socket的含义,只希望大家能记住一点,只要建立能够实时通信的应用程序就需要建立socket连接。

【客户端FLASH编程部分】

从mx自带的as字典中可以看出,Flash在网络通信方面得到了非常大的加强。"The XMLSocket object is useful for client-server applications that require low latency, such as real-time chat systems"注意最后的一小段话:such as real-time chat systems(译文:例如实时聊天系统)

通过调用XMLSocket方法FLASH就可以和一些由强大语言编写的服务器应用程序进行通信,进而开发出各种实时信息交流系统。所以我们的目标锁定在XMLSocket!

另外值得注意的是:有很多人一看到XMLSocket前面的XML三个字母,就觉得头疼,以为必须先熟悉甚至精通XML才能使用这个对象及其方法,但我要说的是在你不太了解XML的阶段,只要把XML信息看成是一个随意长度(>0)的字符串,把XMLSocket看成是一个只是用来发送字符串数据的对象就好办多了。

我们还是从分析代码着手,来跨进开发FLASH实时网络游戏的大门吧://建立XMLSocket对象

var mySocket = new XMLSocket();

mySocket.connect("127.0.0.1",3000);

//测试建立socket连接是否成功

mySocket.onConnect = function(success) {

if(success) {

trace("connect ok");

} else {

trace("connect failed");

}

}

//End for 测试是否连接成功

成功建立连接后 向服务器端发送一个测试用的字符串,以便服务器端能显示出信息。mySocket.send("this is a testing String !!!");

FLASH中的程序就先到此,因为是基础篇,所以不会涉及太多的其他东西,呵呵。

【服务器端java程序部分】import java.io.*;

import java.net.*;

public class LocalServer {

protected int listenPort = 3000;

public void acceptConnections() {

try {

ServerSocket server = new ServerSocket(this.listenPort);

//在服务器端,我们需要ServerSocket对象以便建立服务,参数是兼听的端口号

Socket incomingConnection = null;//创建一个客户端的Socket变量,以接收从客户端监听到的Socket

handleConnection处理

System.out.println("Server端正在等待一个socket连接......");

incomingConnection = server.accept();//调用该 ServerSocket 的 accept()来告诉它开始侦听

System.out.println("一个socket客户端已经连接过来......");

handleConnection(incomingConnection);

} catch (BindException e) {

System.out.println("Unable to bind to port " + listenPort);

}

catch (IOException e) {

System.out.println("Unable to instantiate a ServerSocket on port: " + listenPort);

}

}

public void handleConnection(Socket incomingConnection) {

System.out.println("\r\n正在对此连接进行处理......");

try {//首先获取同Socket相关联的流outputToSocket和InputStream

//其中outputToSocket是要返回给客户端Socket的流

//InputStream是客户端发来的请求

otputStream outputToSocket = incomingConnection.getOutputStream();

InputStream inputFromSocket = incomingConnection.getInputStream();

BufferedReader streamReader = new BufferedReader(new InputStreamReader(inputFromSocket));

//首先要将InputStream转换到BufferedReader中

String line = null;

while ((line = streamReader.readLine()) != null) {

System.out.println(line);

//从streamReader中读出信息,直接输出到默认输出设备中(本例中是指dos窗口)

}

System.out.println("\r\n\r\n接受信息完毕!");

//完成之后关闭所有流,注意关闭Socket流的顺序

streamReader.close();

} catch (Exception e) {

System.out.println("Error handling a client: " + e);

}

}

//主程序,建立sever实例对象,然后运行对象的acceptConnections()方法

public static void main(String[] args) {

LocalServer server = new LocalServer();

server.acceptConnections();

}

}

java服务端程序就到此为止了,此时已经能够建立起一个最简单的C/S结构通信体系。

在此基础上再增加适当的东西 就能够开发出任何应用程序或者网络游戏。

JAVA能做flash游戏吗_FLASH+JAVA开发实时网络游戏 (转:闪客帝国)相关推荐

  1. java能做的游戏_用JAVA可以写出什么样的游戏?

    游戏设计 植物大战僵尸中有一个小游戏关卡,屏幕的正上方有一个滚轮机,会随机生成植物,玩家可以选中植物后自由选择草坪来进行安放.基于此游戏模式,我将该关卡抽取出来,单独做成了一个简易版的植物大战僵尸.游 ...

  2. java开发flash游戏_FLASH+JAVA开发实时网络游戏

    FLASH+JAVA开发实时网络游戏 本文分两部分:FLASH编程 和 Java编程,此文记录的仅仅是我在探索中的一些收获,其中用了很多个人化的描述语言,并不是业界标准的用语. :) 探索笔记: 目前 ...

  3. 十种做Flash游戏赚钱的方法

    如果你做Flash游戏纯粹是为了兴趣或者是好玩,那为什么不一边玩一边赚钱呢?我曾做过很多Flash游戏并因此赚了不少钱.下面我就要公开我总结的十条做Flash游戏赚钱的秘笈. 好了,现在我们切入正题, ...

  4. Java毕设项目藏宝阁游戏交易系统(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目藏宝阁游戏交易系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(We ...

  5. 【纯JAVA语言做RPG游戏】1.做个瓷砖地图生成器

    开个坑,想做个JAVA游戏. 虽然现在有着各种游戏引擎,使得做游戏的效率提高了很多,但是用着别人的代码来做感觉对自己也没啥提升,而且在游戏的模式上也不得不去迎合别人的思维,所以露珠准备应用前面学到的所 ...

  6. Java能做什么?学完Java可以从事什么工作呢?

    如果你是一个Java初学者,你可能对Java应用在什么地方感到困惑.除了"马里奥""贪吃蛇"等经典游戏,其他领域好像也找不到Java的踪迹,那么Java究竟能做 ...

  7. java小组坦克大战游戏开发文档开发日志_java实现坦克大战游戏

    本文实例为大家分享了java实现坦克大战游戏的具体代码,供大家参考,具体内容如下 一.实现的功能 1.游戏玩法介绍 2.自定义游戏(选择游戏难度.关卡等) 3.自定义玩家姓名 4.数据的动态显示 二. ...

  8. 学java怎么做笔记?如何整理java笔记?java学习笔记

    许多开始学Java编程的朋友,都是跟着视频学习的,知道要记笔记,但又不知如何下手.其实笔记主要的还是记框架以及自己能感觉到不懂得地方方便巩固加深印象,笔记不要记得密密麻麻的看着就让人感觉头疼,学习编程 ...

  9. java如何做聚类分析_K-means算法的Java实现 聚类分析681个三国武将

    一,k-means算法介绍: k-means算法接受输入量 k :然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高:而不同聚类中的对象相似度较小.聚类相似度是利用 ...

最新文章

  1. Lossless Codec---APE代码解读系列(二)
  2. 可拖拽的ImageButton
  3. crypto-RSA-常用解密代码块
  4. 『Linux基础 - 4 』linux常用命令(1)
  5. wps数据匹配怎么做_【VK技术分享】数据安全怎么做—静态数据的识别和治理
  6. 正则表达式应用:实现一个简单的计算器
  7. 命php令删除文件夹,window_win7系统通过cmd命令提示符的del命令删除文件的详细教程,怎么利用cmd命令提示符的del命 - phpStudy...
  8. javascript GlobalEventHandlers
  9. OpenGL环境搭建(四)
  10. getElementsByName和getElementByID
  11. win10系统自动安装应用商店(Microsoft Store)方法步骤
  12. 解决 Visio 2016 打开弹出“windows正在设置 请稍候”的问题
  13. JAVAweb之SSH框架
  14. 北京化工大学保研经验分享
  15. 零基础学Java需要多长时间?
  16. 魔方自动还原程序3D版本和2D 修正版
  17. 最新Z-blog黑色极简风格文章博客主题模板源码
  18. strcmp函数的C语言实现
  19. 【Kotlin 初学者】字符串常用操作汇总
  20. Linux-hostname查看及修改

热门文章

  1. vscode go开发staticcheck配置
  2. linux内核不发(Router Solicit)RS报文问题
  3. aws rds监控慢sql_将AWS S3存储桶与AWS RDS SQL Server集成
  4. sql 查询超时已过期_监视来自SQL Server代理作业的查询超时过期消息
  5. ssis 循环导入数据_使用集成服务(SSIS)包从Amazon S3 SSIS存储桶导入数据
  6. 【题解】CF#960 H-Santa's Gift
  7. Python撰写mail
  8. 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。...
  9. UVA 818 Cutting Chains 切断圆环链 (暴力dfs)
  10. jquery实现无刷新分页,跳转