相关疑难解决方法(0)

java socket InputStream在客户端和服务器上挂起/阻塞

大家好

我最近正在开发一个旨在远程关闭浏览器的小程序.基本程序如下:
服务器端:

  1. 创建一个SocketServer来侦听某个端口.
  2. 接受连接并创建相应的套接字对象
  3. 从创建的套接字读取InputStream(在此操作中被阻止)

客户端:

  1. 创建套接字对象以与服务器建立连接.
  2. 通过向OutputStream写入字节来发送命令以关闭服务器端的浏览器.
  3. 通过在套接字的InputStream上使用read()来读取服务器的反馈(在此操作中被阻止)

代码如下:

Server.java

package socket;

import java.io.IOException;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Enumeration;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Server {

private static ExecutorService es = Executors.newFixedThreadPool(5);

public static void main(String[] args) throws IOException {

    InetAddress targetAddress = null;
    NetworkInterface ni = NetworkInterface.getByName("eth2");
    System.out.println(ni);
    Enumeration<InetAddress> inetAddresses = ni.getInetAddresses();
    while(inetAddresses.hasMoreElements()) {
        InetAddress inetAddress = inetAddresses.nextElement();
        if(inetAddress.toString().startsWith("/10")) {
            targetAddress = inetAddress;
            break;
        }
    }
    ServerSocket sSocket = new ServerSocket(11111, …
Run Code Online (Sandbox Code Playgroud)

java sockets

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

sockets ×1