flash 聊天室
2009-05-30 12:07:50 来源:WEB开发网五、编写 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);
}
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接