weixin_44716002 2019-11-18 17:22 采纳率: 0%
浏览 1641

socket客户端如何主动断开与服务器的连接

这里是客户端
new Thread(new Runnable() {
@Override
public void run() {
try {
final Socket socket=new Socket("192.168.43.39",8080);
OutputStream out=socket.getOutputStream();
PrintWriter pw=new PrintWriter(out);
pw.write("123");
pw.flush();
socket.shutdownOutput();
socket.setSoTimeout(5000);
InputStream inputStream=socket.getInputStream();
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream));
String client=null;
while ((client=bufferedReader.readLine())!=null){
System.out.print("这里是客户端。服务器说:"+client);
textView.setText("这里是客户端,"+client);
}
//关闭相关资源
inputStream.close();
bufferedReader.close();
pw.close();
out.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();

这是服务器端
     try {
            ServerSocket serverSocket=new ServerSocket(8080);
            System.out.print("服务器已启动,正在等待客户端连接...\n");
            //记录客户端的数量
            int count=0;
            //循环监听等待客户端的连接
            while (true){
                //调用accept()方法监听,等待客户端的连接
                socket= serverSocket.accept();
                System.out.print("服务器已连接客户端!\n");
                //创建一个新的线程
                ServerThread serverThread=new ServerThread(socket);
                //开启线程
                serverThread.start();
                count++;
                System.out.print("当前客户端的数量为:"+count+"\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
  • 写回答

1条回答 默认 最新

  • dabocaiqq 2019-11-18 18:18
    关注
    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?