悟心

成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。 上人生的旅途罢。前途很远,也很暗。然而不要怕。不怕的人的面前才有路。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  93 随笔 :: 1 文章 :: 103 评论 :: 0 Trackbacks
服务器端
 1import java.net.Socket;
 2import java.net.ServerSocket;
 3import java.io.PrintWriter;
 4import java.io.BufferedReader;
 5import java.io.InputStreamReader;
 6
 7
 8
 9public class XMLServer 
10{
11
12    public void start() throws Exception
13    {
14        String xml = "<cross-domain-policy>";
15        xml = xml + "<allow-access-from domain=\"192.168.9.59\" to-ports=\"5000,5001,8080\" />";
16        xml = xml + "<allow-access-from domain=\"localhost\" to-ports=\"5000,5001,8080\" />";
17        xml = xml + "</cross-domain-policy>";
18
19        ServerSocket serverSocket = new ServerSocket(5000);
20        System.out.println("等待客户端连接");
21        while(true)
22        {
23            try
24            {
25                //新建一个连接
26                Socket socket = serverSocket.accept();
27                System.out.println("连接成功");
28                BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
29                PrintWriter pw = new PrintWriter(socket.getOutputStream());
30                //接收用户名
31                char[] by = new char[22];
32                br.read(by,0,22);
33                String head = new String(by);
34                System.out.println("消息头:" + head + ":");
35                //收到客户端的策略请求
36                if(head.equals("<policy-file-request/>"))
37                {
38                    pw.print(xml + "\0");
39                    pw.flush();
40                }

41                else
42                {
43                    //正常连接
44                    ServerThread thread = new ServerThread(socket);
45                    thread.start();
46                }

47            }

48            catch (Exception e)
49            {
50                System.out.println("服务器出现异常!" + e );
51            }

52        }

53    }

54    public static void main(String[] args)
55    {
56        try
57        {
58            new XMLServer().start();
59        }

60        catch (Exception e)
61        {
62            System.out.println("socket异常:" + e);
63        }

64        
65    }

66}

线程类
 1import java.net.Socket;
 2import java.io.BufferedReader;
 3import java.io.PrintWriter;
 4import java.io.InputStreamReader;
 5
 6/*
 7 *子线程,与一个flash客户端对应,负责收发数据
 8 */

 9public class ServerThread extends Thread
10{
11    private Socket                socket;
12    private BufferedReader        input;
13    private PrintWriter            output;
14
15    public ServerThread(Socket socket)
16    {
17        this.socket = socket;
18    }

19
20    public void run()
21    {
22        System.out.println("------------启动一个线程---------------");
23        //向所有的用户发送当前用户登陆的信息
24        try
25        {
26            input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
27            output = new PrintWriter(socket.getOutputStream());
28            while(true)
29            {
30                //System.out.println("input:" + input);
31                String msg = input.readLine();
32                if(msg == null)
33                {
34                    break;
35                }

36                System.out.println("收到客户端的数据:" + msg);
37                
38                msg="Connection success!!";
39                output.print("服务器返回:" + msg + "\0");
40                output.flush();
41            }

42            System.out.println("子线程结束了");
43        }

44        catch(Exception error)
45        {
46            System.out.println("子线程发生异常");
47            try
48            {
49                input.close();
50                output.close();
51            }

52            catch (Exception er)
53            {
54                System.out.println("关闭资源发生异常");
55            }

56            System.out.println("子线程结束了");
57        }

58    }

59}


客户端为flash 需要的朋友可以到附件里面下载

posted on 2009-11-24 19:04 艾波 阅读(2000) 评论(5)  编辑  收藏 所属分类: Other

评论

# re: Socket java和flash通信小例子附源码下载[未登录] 2010-03-03 16:38 eric
相当的好  回复  更多评论
  

# re: Socket java和flash通信小例子附源码下载 2010-09-21 11:31 张恒
很好的文章  回复  更多评论
  

# re: Socket java和flash通信小例子附源码下载 2010-11-12 09:45 艾波
@eric
@张恒

不客气 大家都是共同学习和进步  回复  更多评论
  

# re: Socket java和flash通信小例子附源码下载 2011-04-26 17:18 sdddf
从不发帖的人也给你发个帖子表示感谢。  回复  更多评论
  

# re: Socket java和flash通信小例子附源码下载[未登录] 2011-11-29 10:24
啊 不错  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: