我主要描述的是典型的SOCKET模式~~服务器端ServerSocket.accept()返回一SocketA~接收客户端连接
再把SocketA分配到线程中~接受或发送数据~~反正是最简单的那种~~
不过之后有个疑惑~~当线路为通时~我可以利用所接受String是否为空判断是否客户端Socket断开``但是当我把网线毁掉造成线路不通时~~将无法判断客户是否关闭! 我刚接触SOCKET编程不久~希望各位能给我点帮助~已经我疑惑几天了~~!好累....
再把SocketA分配到线程中~接受或发送数据~~反正是最简单的那种~~
不过之后有个疑惑~~当线路为通时~我可以利用所接受String是否为空判断是否客户端Socket断开``但是当我把网线毁掉造成线路不通时~~将无法判断客户是否关闭! 我刚接触SOCKET编程不久~希望各位能给我点帮助~已经我疑惑几天了~~!好累....
解决方案 »
- 静态方法的内存分析的疑惑……
- java中的数组如何连续输出
- myeclipse内部窗口的关闭按钮不能用了
- 这个程序不用内部类怎么实现?
- 连接池问题:javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
- 路过的看看,面向对象的问题
- 如何发布java程序?
- 【源码分享】Java实现中国象棋
- 請教如何得到一個子符的內碼.
- 各位阿哥阿姐,不好意思的问一个问题,哪里有jbuilder的教程下载的?新年快乐~~~
- jsp页面解决乱码方式的差别
- 500分求教:国外软件源码直接修改.java中字符串汉化编译出来是乱码,试了n种方法还是不行,500分求教各位达人
public void run(){
try
{
in = new BufferedReader(new InputStreamReader(client.getInputStream()));
}catch(IOException e)
{System.out.println("客户退出"); }
try{
while(true){
str = in.readLine(); if(str == null || str.equals("exit") )
{
break;
}
System.out.println(str);
out.println(str);
//out.println("has receive....");
//out.flush();
continue;
}
client.close();
//client = null;
System.out.println("客户退出!");
t.jian();
}catch(IOException e){
}finally{}
//manCount --;
//client.close();
}