flex socket java,Flex的socket与java使用amf3进行通信

flex socket java,Flex的socket与java使用amf3进行通信amf3 adobe 创立的数据格式由于使用二进制 没有了 xml 等冗余的字符数据量会少很多 而且很多测试报告均测出 amf 传递效果很高 这次是使用 Flex 的 Socket 类与 java 的服务端进行通信 步骤是 客户端用 socket 类连接 java 服务器 使用查询字符串进行请求 java 将数据封装为 hashmap 最后将 hashmap 用 amfoutputstr 输出至 flex 的客户端 flex 对数据进行解码

amf3,adobe创立的数据格式由于使用二进制,没有了xml等冗余的字符数据量会少很多!而且很多测试报告均测出amf传递效果很高.

这次是使用Flex的Socket类与java的服务端进行通信,

步骤是:

客户端用socket类连接java服务器,

使用查询字符串进行请求,

java将数据封装为hashmap,最后将hashmap用amfoutputstream输出至flex的客户端

flex对数据进行解码后,即为Object!

以下为详细的代码(呵呵,留个网络比较)

1.先倒入adobe的包到java的工程中!

flex-messaging-core.jar

flex-messaging-common.jar

2.建立好java的socket服务器

包结构: com.sk.socket

package com.sk.socket;

import java.io.IOException;

import java.io.PrintStream;

import java.net.ServerSocket;

import java.net.Socket;

import java.util.Arrays;

import java.util.HashMap;

import java.util.Scanner;

import com.sk.amf.AmfTool;

public class AmfSocket {

private ServerSocket socket;

private Socket client;

private Scanner in;

private PrintStream out;

private AmfTool tool = new AmfTool();

public AmfSocket(int port) throws IOException {

socket = new ServerSocket(port);

}

public void start() throws IOException{

System.out.println(“Amf服务器已启动”);

while (true) {

client = socket.accept();

in = new Scanner(client.getInputStream());

out = new PrintStream(client.getOutputStream());

boolean done = false;

while (!done) {

if (in.hasNextLine()) {

String line = in.nextLine();

if (line.trim().toLowerCase().equals(“exit”)) {

done = true;

} else {

out();

}

} else {

done = true;

}

}

if(done){

client.close();

}

}

}

private void out() {

HashMap

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178672.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午4:44
下一篇 2026年3月26日 下午4:45


相关推荐

  • Css Filter Alpha 属性详解

    Css Filter Alpha 属性详解Alpha 设置透明层次 blur 创建高速度移动效果 即模糊效果 Chroma 制作专用颜色透明 DropShadow 创建对象的固定影子 FlipH 创建水平镜像图片 FlipV 创建垂直镜像图片 glow 加光辉在附近对象的边外 gray 把图片灰度化 invert 反色 light 创建光源在对象上 mask 创建透明掩膜在对象上 shadow 创建偏移固定影子 w

    2026年3月16日
    2
  • 制作initramfs镜像_乌班图initramfs问题

    制作initramfs镜像_乌班图initramfs问题Initramfs的制作和移植1.initramfsinitramfs在编译内核的同时被编译并与内核生成一个映像文件,可以压缩也可以不压缩,但是目前只支持cpio包格式。它是根文件系统制作和制作的一种非常简单的方法,也可以通过执行这个文件系统中的程序引导真正的文件系统,这样加载根文件系统的工作就不是内核的工作,而是initramfs的工作。由于initramfs使用cpio包格

    2022年8月11日
    12
  • STM32 看门狗和嘀嗒定时器

    STM32 看门狗和嘀嗒定时器看门狗一个定时器,独立的定时器,对单片机CPU进行监控,一旦CPU的程序出现错误,或者电压过低使单片机出现任何意外情况,看门狗就会给单片机复位使单片机回到初始状态。单片机就会从错误中脱离出来。看门狗–是一个定时器,供能–计数。每隔一段时间就喂狗–计数清零,重新计时,程序出错不能喂狗,得复位。独立看门狗独立看门狗是基于一个12位的递减计数器和一个8位的预分频器。他有一个内部独立的40KHz的RC振荡器提供时钟;因为这个RC振荡器独立于主时钟,所以他可运行于停机和待机模式。它可以被当成看门狗用于在发生问

    2022年5月26日
    48
  • int对应的jdbctype_java clob类型

    int对应的jdbctype_java clob类型在Oracle中有些字段不是必填时在用户使用的时候会出现数据null的情况。这个时候在Oracle中是无法进行插入的。JDBCTypeJavaTypeCHARStringVARCHARStringLONGVARCHARStringNUMERICjava.math.BigD…

    2022年10月20日
    7
  • 正数、负数和补码_正数原码反码补码

    正数、负数和补码_正数原码反码补码计算机中,正数、负数是怎么区分的呢,如何存放正数和负数?这里,就要用到补码这个概念了,先给出结论吧:正数和负数在计算机其实都是使用补码来存放的,并且在计算机中是没有减法运算的,减法实际上就是补码直接相加。正数和负数的补码补码是计算机存放数据之前对数据做了一种转换操作得到的,与补码相关的几个名词还有原码、反码:1、原码:字节的最高位为符号位,其余表示数值大小,最简单;2、反码:正数的反码和原码一样,负数的反码除最高位符号位外,其他位都取反;3、补码:在反码的基础上加1,这样可以方便计算机进行计算,可

    2025年7月16日
    6
  • Matlab保存图像的5种方法「建议收藏」

    Matlab保存图像的5种方法「建议收藏」此博客转自:https://blog.csdn.net/holybin/article/details/39502077,另外我补充了一些实验结果。1、使用imwrite函数如图像是img,则可以使用imwrite(img,’result.jpg’);这种方法保存图像大小和显示的大小是一样的。下面的方法得到的图像和原图像的大小不一样;下面是用该方法保存的图片我们注意到,用imwrite保存的图…

    2025年11月8日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号