[求助] socket通信.客户端怎样主动断开连接.

爱吃窝窝头 爱吃窝窝头 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
如题,客户端怎样主动强制和服务器断开, 调用socket.close()后服务器inputstream.read()无限循环得到空字符串

服务器部分代码:
private void socket(){
ServerSocket ss;
try {
ss = new ServerSocket(9988);
//等待连接 客户端
System.out.println("正在侦听");
Socket s=ss.accept();
System.out.println("-----------连接成功-----------");
InputStream in=s.getInputStream();

out= s.getOutputStream();

//读取从客户端法发来的信息
while(true) {
//读取从客户端发来的信息
byte[] b=new byte[1024];

in.read(b);

String info=new String(b).trim();
//在文本栏里显示
area_showWindow.append("客户端:"+info+"\r\n");
}
} catch (IOException e) {
e.printStackTrace();
}
}


客户端部分代码:
private void btn_send(){
btn_send.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
String info = area_inputWindow.getText();
if(info.equals("1")){
try {
out.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
area_showWindow.append("客户端: "+info+"\r\n");
try {
out.write(info.getBytes());
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
area_inputWindow.setText("");
}
});
}


客户端文本域就一直不停的增加:
客户端:
客户端:
客户端:
客户端:
客户端:
........N多
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
爱吃窝窝头
Java SE 62,621 成员 307,251 内容