java套接字read(java套接字实现聊天室)
JAVA中什么是套接字???
你打电话需要有电话或手机吧?套接字就是手机。
你打的,你就是主叫方,对方就是被叫方。那么你需要一个Socket,对方需要一个ServerSocket。
被叫方有多个号。他得选中一个号工作,这叫绑定。在套接字上,是绑定到端口。
对方需要开机才能接听电话。那他就得先侦听。ServerSocket的accept()就是开始侦听,并有来电时接听。
java中套接字读的时候会进入阻塞状态,其它线程如何让它解除阻塞状态?
你这主线程是什么?主线程一结束,程序就OVER了。。。你这说主线程结束,程序又不结束,没看懂。。。你可以试试NIO,异步非阻塞的。在JAVA的NIO包里,自己翻翻API就会用了。没有自己去网上下个,JDK1.6的中文版API一大堆。
JAVA中Sockets长连接时使用read()阻塞的问题!急救!
while (true) {
try {
byte buff[] = new byte[500];// 缓冲数组
if (buff != null buff.length 0) {
DataIn.read(buff);
String str = new String(buff);// 接受客户端发送的数据包
String dataBag="客户端\t" + sdf.format(dt) + "\n";
}
if(stopFlag)
break;
} catch (IOException ioe) {
System.out.println("读写异常:"+ioe.getMessage());
}
}
我的代码,运行正常,看到了吗?只要把buff[]转成字符串就完事了