如何使用Java网络和MAMP修复绑定错误 客户端

如何使用Java网络和MAMP修复绑定错误 客户端,java,networking,mamp,Java,Networking,Mamp,我在我的电脑上使用这个。我使用的是MAMP,它已安装,一切似乎都很好,但 package com.data.jdbc; import java.io.IOException; import java.io.PrintStream; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; public class ClientDemo { public static

我在我的电脑上使用这个。我使用的是MAMP,它已安装,一切似乎都很好,但

package com.data.jdbc;

import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

public class ClientDemo {

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

        Socket s  = new Socket("127.0.0.1", 8888);

        Scanner is = new Scanner(s.getInputStream());  //receive data from server

        System.out.println("Enter the string");
        Scanner scan = new Scanner(System.in);
        String name = scan.next();
        PrintStream p = new PrintStream(s.getOutputStream());
        p.println(name);
        String temp=is.next();


        System.out.println(temp);

        // TODO Auto-generated method stub

    }

}
   package com.data.jdbc;


import java.io.IOException;
import java.io.PrintStream;
import java.net.*;
import java.util.Scanner;


public class ServerDemo {

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



        // TODO Auto-generated method stub

        ServerSocket sc1 = new ServerSocket(8888);
        Socket s11 = sc1.accept();
        Scanner scan1 = new Scanner(s11.getInputStream());
        String name1 = scan1.next();
        String temp1= name1 + "Poudel";

        PrintStream p1 = new PrintStream(s11.getOutputStream());

        p1.println(temp1);

    }
}
服务器端 我在我的电脑上使用这个,安装了MAMP,一切看起来都很好,但是

package com.data.jdbc;

import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

public class ClientDemo {

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

        Socket s  = new Socket("127.0.0.1", 8888);

        Scanner is = new Scanner(s.getInputStream());  //receive data from server

        System.out.println("Enter the string");
        Scanner scan = new Scanner(System.in);
        String name = scan.next();
        PrintStream p = new PrintStream(s.getOutputStream());
        p.println(name);
        String temp=is.next();


        System.out.println(temp);

        // TODO Auto-generated method stub

    }

}
   package com.data.jdbc;


import java.io.IOException;
import java.io.PrintStream;
import java.net.*;
import java.util.Scanner;


public class ServerDemo {

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



        // TODO Auto-generated method stub

        ServerSocket sc1 = new ServerSocket(8888);
        Socket s11 = sc1.accept();
        Scanner scan1 = new Scanner(s11.getInputStream());
        String name1 = scan1.next();
        String temp1= name1 + "Poudel";

        PrintStream p1 = new PrintStream(s11.getOutputStream());

        p1.println(temp1);

    }
}
错误 我得到一个绑定错误,如下所示:

Exception in thread "main" java.net.BindException: Address already in use (Bind failed)
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
    at java.net.ServerSocket.bind(ServerSocket.java:375)
    at java.net.ServerSocket.<init>(ServerSocket.java:237)
    at java.net.ServerSocket.<init>(ServerSocket.java:128)
    at com.data.jdbc.ServerDemo.main(ServerDemo.java:18)
线程“main”java.net.BindException中的异常:地址已在使用中(绑定失败) 位于java.net.PlainSocketImpl.socketBind(本机方法) 位于java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387) 位于java.net.ServerSocket.bind(ServerSocket.java:375) 位于java.net.ServerSocket.(ServerSocket.java:237) 位于java.net.ServerSocket。(ServerSocket.java:128) 位于com.data.jdbc.ServerDemo.main(ServerDemo.java:18)
上述问题的原因可能是什么?

端口8888已被另一个进程使用。使用其他端口。服务器端口8888已被其他程序使用。在windows上,您可以使用“netstat-ano”获取套接字列表,包括进程ID。您需要检查端口8888以及哪个进程使用此端口。从获取TCPView并查看使用8888的内容。然后您必须关闭该应用程序或更改您正在使用的端口。很可能您的程序的另一个实例正在使用8888,该实例仍在运行,这要感谢Raviii1和Konrad。问题解决了