- 浏览: 910031 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wangzhen199009:
good. Thx for your sharing.
REST和认证 HMAC -
jsshizhan:
你的这个SQL有问题的
数据库中如何使用SQL查询连续数字并且统计连续个数 -
maoghj:
dddddddddddddd
mysql 更改my.cnf 慢查询日志 -
zhoutong123a:
人的贪婪无止境,只能控制,不能满足
招人心得 -
xuerThinkVickie:
...
ZeroClipboard支持IE,firefox,Chrome复制到剪贴板
Flash与JAVA的Socket通信
import java.io.*;
import java.net.*;
public class AMFServer {
public void start()throws Exception{
String xml="<cross-domain-policy>";
xml+="<allow-access-from domain=\"127.0.0.1\"to-ports=\"5000,8000\">";
xml+="<allow-access-from domain=\"localhost\"to-ports=\"5000,8000\">";
xml+="</cross-domain-policy>";
ServerSocket serverSocket=new ServerSocket(5000);
System.out.println("等待用户连接````````");
while(true){
try{
Socket socket=serverSocket.accept();
System.out.println("连接成功```````");
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter pw=new PrintWriter(socket.getOutputStream());
char[] by=new char[22];
br.read(by,0,22);
String head=new String(by);
System.out.println("消息头是:"+head+";");
if(head.equals("<policy-file-request/>")){
pw.write(xml+"\0");
pw.flush();
}else{
ServerThread thread=new ServerThread(socket);
thread.start();
}
}catch(Exception e){
System.out.println("服务器发生异常");
}
}
}
public static void main(String[] args) {
try{
new AMFServer().start();
}catch(Exception e){
System.out.println("Socket发生异常:"+e);
}
}
}
import java.net.Socket;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.InputStreamReader;
public class ServerThread extends Thread{
private Socket socket;
private BufferedReader input;
private PrintWriter output;
public ServerThread(Socket socket){
this.socket=socket;
}
public void run(){
System.out.println("---------------启动一个线程-----------------");
try{
input=new BufferedReader(new InputStreamReader(socket.getInputStream()));
output=new PrintWriter(socket.getOutputStream());
while(true){
String msg=input.readLine();
if(msg==null){
break;
}
System.out.println("收到客户端的数据:"+msg);
output.print("服务器返回:"+msg+"\0");
output.flush();
}
System.out.println("子线程结束了");
}catch(Exception e){
System.out.println("子线程发生异常");
try{
input.close();
output.close();
}catch(Exception ex){
System.out.println("关闭资源发生异常");
}
System.out.println("子线程结束了");
}
}
}
package org.Eden.net {
import flash.display.Sprite;
import flash.events.DataEvent;
import flash.events.*;
import flash.net.XMLSocket;
import flash.system.Security;
import flash.system.System;
public class EdenSockets extends Sprite{
private var socket:XMLSocket;
public function EdenSockets()
{
System.useCodePage = true;
socket = new XMLSocket();
socket.addEventListener( Event.CONNECT, onConnect );
socket.addEventListener( IOErrorEvent.IO_ERROR , failConnect );
socket.addEventListener( DataEvent.DATA, onDatas );
sendBtn.addEventListener(MouseEvent.MOUSE_DOWN,sendEvent);
socket.connect("127.0.0.1", 5000);
}
public function onConnect(myStatus:Event):void
{
msgText.text = msgText.text + "连接成功\n";
//立即发送成功 信息到服务器
socket.send("<policy-file-xxquest/>\n");
}
public function failConnect(myStatus:IOErrorEvent):void
{
msgText.text = msgText.text + "连接失败\n";
}
public function onDatas(event:DataEvent):void
{
if(event.data != null)
{
msgText.text = msgText.text + event.data + "\n";
}
}
public function sendEvent(event:MouseEvent):void
{
socket.send(speakText.text + "\n");
speakText.text = "";
}
}
}
import java.io.*;
import java.net.*;
public class AMFServer {
public void start()throws Exception{
String xml="<cross-domain-policy>";
xml+="<allow-access-from domain=\"127.0.0.1\"to-ports=\"5000,8000\">";
xml+="<allow-access-from domain=\"localhost\"to-ports=\"5000,8000\">";
xml+="</cross-domain-policy>";
ServerSocket serverSocket=new ServerSocket(5000);
System.out.println("等待用户连接````````");
while(true){
try{
Socket socket=serverSocket.accept();
System.out.println("连接成功```````");
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter pw=new PrintWriter(socket.getOutputStream());
char[] by=new char[22];
br.read(by,0,22);
String head=new String(by);
System.out.println("消息头是:"+head+";");
if(head.equals("<policy-file-request/>")){
pw.write(xml+"\0");
pw.flush();
}else{
ServerThread thread=new ServerThread(socket);
thread.start();
}
}catch(Exception e){
System.out.println("服务器发生异常");
}
}
}
public static void main(String[] args) {
try{
new AMFServer().start();
}catch(Exception e){
System.out.println("Socket发生异常:"+e);
}
}
}
import java.net.Socket;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.InputStreamReader;
public class ServerThread extends Thread{
private Socket socket;
private BufferedReader input;
private PrintWriter output;
public ServerThread(Socket socket){
this.socket=socket;
}
public void run(){
System.out.println("---------------启动一个线程-----------------");
try{
input=new BufferedReader(new InputStreamReader(socket.getInputStream()));
output=new PrintWriter(socket.getOutputStream());
while(true){
String msg=input.readLine();
if(msg==null){
break;
}
System.out.println("收到客户端的数据:"+msg);
output.print("服务器返回:"+msg+"\0");
output.flush();
}
System.out.println("子线程结束了");
}catch(Exception e){
System.out.println("子线程发生异常");
try{
input.close();
output.close();
}catch(Exception ex){
System.out.println("关闭资源发生异常");
}
System.out.println("子线程结束了");
}
}
}
package org.Eden.net {
import flash.display.Sprite;
import flash.events.DataEvent;
import flash.events.*;
import flash.net.XMLSocket;
import flash.system.Security;
import flash.system.System;
public class EdenSockets extends Sprite{
private var socket:XMLSocket;
public function EdenSockets()
{
System.useCodePage = true;
socket = new XMLSocket();
socket.addEventListener( Event.CONNECT, onConnect );
socket.addEventListener( IOErrorEvent.IO_ERROR , failConnect );
socket.addEventListener( DataEvent.DATA, onDatas );
sendBtn.addEventListener(MouseEvent.MOUSE_DOWN,sendEvent);
socket.connect("127.0.0.1", 5000);
}
public function onConnect(myStatus:Event):void
{
msgText.text = msgText.text + "连接成功\n";
//立即发送成功 信息到服务器
socket.send("<policy-file-xxquest/>\n");
}
public function failConnect(myStatus:IOErrorEvent):void
{
msgText.text = msgText.text + "连接失败\n";
}
public function onDatas(event:DataEvent):void
{
if(event.data != null)
{
msgText.text = msgText.text + event.data + "\n";
}
}
public function sendEvent(event:MouseEvent):void
{
socket.send(speakText.text + "\n");
speakText.text = "";
}
}
}
发表评论
-
动态备份mysql慢查询日志
2016-07-28 11:22 424set global slow_query_log=0; 引用 ... -
java转义字符串
2015-07-15 15:30 743点的转义:. ==> u002E 美元符号的转义:$ ... -
Hibernate 一对多关联的CRUD__@ManyToOne(cascade=(CascadeType.ALL))
2015-03-31 16:56 780http://blog.csdn.net/sivyer123/ ... -
hadoop分析摘要
2012-12-09 18:44 0引用http://home.cnblogs.com/u/lij ... -
REST和认证 HMAC
2012-12-09 10:31 9106REST和认证 我们在设计REST(Representatio ... -
myeclipse设置tomcat发布目录
2012-07-18 11:00 1003... -
htmlparser:使用 HttpClient 和 HtmlParser 实现简易爬虫
2010-01-27 15:29 3277使用 HttpClient 和 HtmlPa ... -
Java发送Http请求,解析html返回
2010-01-27 14:46 2339转载:http://blog.csdn.net/wish_si ... -
eclipse java.lang.OutOfMemoryError: Java heap space 解决方案
2010-01-03 15:22 8050eclipse java.lang.OutOfMemoryEr ... -
抽奖程序
2009-12-11 12:56 1669Random.nextInt(400000) int a; ... -
HttpClient 入门
2009-10-17 02:08 1153HttpClient 是 Apache Jakarta Com ... -
从架构差异看Web高性能开发
2009-09-21 16:46 944一般情况下,架构分两 ... -
Java代码优化
2009-09-21 15:43 1591Java代码优化2008-10-26 22:11一、为什么要优 ... -
移位操作详细解释
2009-09-21 14:52 1252用移位操作替代乘法和除法 考虑下面的代码: for (va ... -
Java中四种XML解析技术不完全评测
2009-04-13 14:03 994在平时工作中,难免会遇到把XML作为数据存储格式。面对目前种类 ... -
最简单的游戏回血逻辑实现(包括源代码)
2009-04-13 13:25 1431http://blog.csdn.net/Mailbomb/a ... -
Java 小例子:通过Socket发送和接收 文件
2009-03-10 13:23 3448引用:http://blog.csdn.net/yid ... -
Java 小例子:数据持久化(保存数据到文件)
2009-03-10 13:03 1547引用:http://blog.csdn.net/yidingh ... -
利用BlazeDS的AMF3数据封装与Flash 进行Socket通讯
2008-12-27 15:54 2592利用BlazeDS的AMF3数据封装与Flash 进行Sock ... -
MINA框架
2008-12-19 14:49 3270MINA框架_高占军的个人空间GuolinLee 收录于200 ...
相关推荐
Flex与Java Socket通信是Web应用程序开发中的一个重要技术,它允许客户端和服务器之间进行实时、双向的数据交换。在本文中,我们将深入探讨如何实现Flex客户端与Java服务器之间的Socket通信。 首先,确保你拥有以下...
- **FlashScoket.java**:这可能是Java服务器端的源代码文件,实现了Socket通信逻辑,处理客户端连接和数据交换。 总结来说,"flash as3/java soket 聊天室"是一个使用AS3作为前端和Java Socket作为后端的实时通信...
2.重点解决安全策略问题:将flash发布为html格式后,本地访问页面后,一般可以与服务器进行socket通信;但是部署到tomcat服务器上后无法通信,这是因为flex安全策略引起的;需要在java服务端开通843权限策略,具体看...
3. **Socket通信**:如果需要进行低级别的双向通信,Flash和Java可以通过TCP或UDP套接字进行直接通信。但这需要在服务器端开放特定的端口,并处理跨域安全问题。 4. **AMF(Action Message Format)**:这是一种二...
标题 "FLEX与JAVA通过SOCKET通信" 涉及的是在客户端与服务器之间使用FLEX(Adobe Flex)和JAVA进行Socket通信的技术。Flex是一种开源的、基于MXML和ActionScript的开发框架,用于构建富互联网应用程序(RIA)。Java...
在这个场景中,我们关注的是ActionScript(AS)与Java之间的Socket通信,以及如何在面临安全沙箱限制时找到解决方案。Socket编程是实现客户端-服务器通信的基础,它允许两个或多个应用程序通过网络交换数据。 首先...
在IT行业中,跨平台通信是常见的需求,而Flash与Java之间的通信就提供了一种解决方案。本文将深入探讨如何使用XMLSocket在Flash与Java之间进行高效、稳定的数据交换,并且特别关注如何解决在通信过程中可能出现的...
### Flex和Java的Socket通信详解 #### 一、引言 在互联网应用开发中,不同技术栈之间的通信是非常重要的一个环节。本篇文章将详细介绍如何利用...希望本文能够帮助您更好地理解和掌握Flex与Java的Socket通信技术。
在Flex与Java之间,Socket通信提供了低级别的网络连接,使得前端能够实时地发送和接收数据。 以下是关于Flex与Java Socket通信的一些关键知识点: 1. **Socket API**:Java的Socket类和ServerSocket类是实现TCP/IP...
本篇文章将探讨如何解决AS3中的安全沙箱问题,以便与Java后台进行顺畅的Socket通信。 首先,我们需要了解AS3的安全沙箱模型。AS3的沙箱分为三类:本地信任的沙箱(Local-with-Files)、网络沙箱(Network)和本地...
在本文中,我们将深入探讨Flex AS3与Java的Socket通信技术,这是一种允许Web应用程序(如Flash游戏)与服务器进行低级数据传输的方法。Flex AS3是Adobe开发的ActionScript 3.0编程语言的一个框架,它提供了丰富的...
在Flash游戏框架中,Java Socket被用来建立和维护客户端与服务器之间的连接,保证数据的可靠传输。通过Socket,服务器可以处理来自多个客户端的并发请求,实现多玩家在线游戏的同步。 安全沙箱是Flash Player为防止...
Socket通信的基本步骤是:服务器创建监听Socket,等待客户端连接;客户端创建Socket并连接到服务器;双方建立连接后,通过输入输出流进行数据交换。 二、C/S架构 C/S架构是一种常见的软件架构模式,由客户端和...
- **Socket通信**:Flash和Java可以通过TCP或UDP套接字进行网络通信,建立客户端-服务器模型。这种方式不受浏览器限制,但需要服务器端支持。 - **XMLSocket**:Flash Player支持XMLSocket类,用于实现双向、实时...
文档中提到的Socket通信是Java与Flash通信的一种方式。Socket是一种网络通信的端点,允许两台计算机之间进行双向数据交换。在Java中,可以通过创建ServerSocket和Socket类来实现服务器和客户端的通信。ServerSocket...
Socket通信是一种低级别的网络通信机制,允许应用程序之间直接建立TCP/IP连接,进行高效的数据传输。 以下是Flex与Java通信的关键知识点: 1. **ActionScript与Java的交互**:在Flex中,通常使用AMF(Action ...
本文将重点讨论如何使用Java作为中间桥梁,通过Socket通信来实现Flash与Java之间的数据传输。 Java端实现了一个简单的单线程服务器,它监听特定的端口(例如10086),并等待来自Flash客户端的连接。服务器的核心...