WEB开发网
开发学院图形图像Flash flash 聊天室 阅读

flash 聊天室

 2009-05-30 12:07:50 来源:WEB开发网   
核心提示: 五、编写 Java 服务器端 Socket 最后,我们需要编写 Java 后台服务器端的代码,flash 聊天室(3), 首先,创建一个 ServerSocket 作为Socket 服务器,当客户端有消息发来就读取,否则就一直等待 String msg = reader.readLine(

五、编写 Java 服务器端 Socket

最后,我们需要编写 Java 后台服务器端的代码。

首先,创建一个 ServerSocket 作为Socket 服务器。当有客户端连接后通过 accept() 方法即可得到客户端的 Socket:

ServerSocket socketServer = new ServerSocket(8888);
System.out.println("服务器已启动,等待客户端连接");

// accept() 方法是阻塞式的,当有客户端连接成功后才继续执行
Socket socket = socketServer.accept();
System.out.println("客户端连接成功");

然后得到与客户端的输入流和输出流(输入流是客户端连接到服务器的管道,输出流则是服务器到客户端的管道):

// 获得输入流和输出流,输入流为 BufferedReader 类型,输出流为 DataOutputStream 类型
BufferedReader reader =
 new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8"));
DataOutputStream writer = new DataOutputStream(socket.getOutputStream());  

拿到输入输出流以后,就可以通过输入流(InputStream)读取 Flash 客户端发来的字符串,通过输出流(OutputStream)向 Flash 客户端写字符串:

while (true) {
    // readLine() 方法也是阻塞式的,当客户端有消息发来就读取,否则就一直等待
    String msg = reader.readLine();
  
    // 当客户端发送的字符串为 null 时,说明客户端已经关闭,此时退出循环
    if (msg == null) {
        System.out.println("客户端已离开");
        break;
    }
  
    // 将读入的信息加工后再写回客户端
    writer.writeUTF("写回客户端的" + msg);
}

上一页  1 2 3 4 5  下一页

Tags:flash 聊天室

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接