相关疑难解决方法(0)

Java死锁问题

我正在使用java套接字进行通信.在客户端我有一些处理,此时我发送一个对象给客户.代码如下:

while (true) {
  try {
    Socket server = new Socket("localhost", 3000);
    OutputStream os = server.getOutputStream();
    InputStream is = server.getInputStream();

    CommMessage commMessage = new CommMessageImpl();
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(bos);
    oos.writeObject(commMessage);
    os.write(bos.toByteArray());
    os.flush();

    byte[] buff = new byte[512];
    int bytesRead = 0;
    ByteArrayOutputStream receivedObject = new ByteArrayOutputStream();
    while ((bytesRead = is.read(buff)) > -1) {
      receivedObject.write(buff, 0, bytesRead);
      System.out.println(receivedObject);
    }
    os.close();
    Thread.sleep(10000);
  } catch (IOException e) {
  } catch (InterruptedException e) {
  }
}
Run Code Online (Sandbox Code Playgroud)

接下来在服务器端我有以下代码来读取对象并写入响应(这只是一个回显消息)

public …
Run Code Online (Sandbox Code Playgroud)

java sockets deadlock stream

3
推荐指数
1
解决办法
2566
查看次数

标签 统计

deadlock ×1

java ×1

sockets ×1

stream ×1