Flex的socket与java使用amf3进行通信
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<String, Obj
相关文档:
一、JSP_选择题
1. 以下选项中不是jsp隐式对象的是:( )
A pageContext
B context
C application
D out
参考答案:B
2. 下面哪一个不是JSP本身已加载的基本类?( )
A java.lang.*
B java.io.*
C javax.servlet.*
D javax.servlet.j ......
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D: 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面 ......
下面是一个过滤html元素的程序,也许对大家有点帮助!
/**
* filter all html element.
* For example:<a href="www.sohu.com/test">hello!</a>
* The filter result is :hello!
  ......
public static Object getCloneObject(Object bean) {
Object cloneBean = null;
try {
ByteArrayOutputStream byout = new ByteArrayOutputStream();
ObjectOutputStream obj = new ObjectOutputStream(byout);
obj.writeObject(bean);
ByteArrayInputStream byin = new ByteArrayInputStream(byou ......
Java 2 C++ http://www.javaeye.com/topic/295776
1. 解决性能问题
Java具有平台无关性,这使人们在开发企业级应用的时候总是把它作为主要候选方案之一,但是性能方面的因素又大大削弱了它的竞争力。为此,提高Java的性能就显得十分重要。Sun公司及Java的支持者们为提高Java的运行速度已经做出了许多努力,其中大多数集中 ......