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
相关文档:
Windows
设置环Path境变量,加入flex的SDk的bin目录路径,如:f:\flex_sdk_3\bin。设置好了之后,打开命令行,定位到项目目录,输入如下命令:mxmlc 项目名.mxml。如果此时出现了“Error:could not find JVM”,这时需要手动指定JRE路径,打开Flex3 SDK的bin目录,用文本编辑器打开jvm. ......
采用UDP的通讯方式,调用java自带的awt打印接口
服务器端代码
Server:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class Server
{
private DatagramSocket server;
private DatagramPacket packet;
......
下面是一个过滤html元素的程序,也许对大家有点帮助!
/**
* filter all html element.
* For example:<a href="www.sohu.com/test">hello!</a>
* The filter result is :hello!
  ......
【作者:qiushyfm 】
加密算法有很多种:这里只大约列举几例:
1:消息摘要:(数字指纹):既对一个任意长度的一个数据块进行计算,产生一个唯一指纹。MD5/SHA1
发送给其他人你的信息和摘要,其他人用相同的加密方法得到摘要,最后进行比较摘要是否相同。
2:单匙密码体制:DES:比较简便高效,密钥简短,加解密速度快,破译 ......
Java 2 C++ http://www.javaeye.com/topic/295776
1. 解决性能问题
Java具有平台无关性,这使人们在开发企业级应用的时候总是把它作为主要候选方案之一,但是性能方面的因素又大大削弱了它的竞争力。为此,提高Java的性能就显得十分重要。Sun公司及Java的支持者们为提高Java的运行速度已经做出了许多努力,其中大多数集中 ......