Я пытаюсь установить соединение между клиентом и сервером в java, но когда я запускаю сервер, он дает «Соединение отказано: подключиться». Я не знаю, что do, и я действительно новичок в java-сети, можете ли вы мне помочь? вот мой код сервера:Как я могу решить «Соединение отказано: connect»
class reserver {
static int serverPort = 6667;
static int serverPort1 = 6668;
static String Message,input;
String ip = "127.0.0.1";
public reserver(){
try{
InetAddress ipAddress = InetAddress.getByName(ip);
Socket socket = new Socket(ipAddress,serverPort);
OutputStream sout = socket.getOutputStream();
InputStream sin = socket.getInputStream();
DataOutputStream out = new DataOutputStream(sout);
out.writeUTF(input);
out.flush();
}catch(IOException e){
System.out.print(e.getMessage());
}
}
public static void main(String [] args){
new reserver();
try{
ServerSocket ss = new ServerSocket(serverPort1);
int i = 0;
while(true){
i++;
Socket socket = ss.accept();
OutputStream sout = socket.getOutputStream();
InputStream sin = socket.getInputStream();
DataInputStream in = new DataInputStream(sin);
DataOutputStream out = new DataOutputStream(sout);
input = in.readUTF();
System.out.println("Message [" + i + "]" +input);
}
}catch(IOException e){
System.out.print(e.getMessage());
}
}
}
А вот мой клиент код:
class reclient {
String ip = "127.0.0.1";
static int serverPort = 6667;
static int serverPort1 = 6668;
static String Message,input;
public reclient(){
try{
Scanner s = new Scanner(System.in);
System.out.print("Enter Text: ");
input = s.nextLine();
InetAddress ipAddress = InetAddress.getByName(ip);
Socket socket = new Socket(ipAddress,serverPort);
OutputStream sout = socket.getOutputStream();
InputStream sin = socket.getInputStream();
DataInputStream in = new DataInputStream(sin);
DataOutputStream out = new DataOutputStream(sout);
out.writeUTF(input);
out.flush();
}catch(IOException e){
System.out.print(e.getMessage());
}
}
public static void main(String [] args){
new reclient();
try{
ServerSocket ss = new ServerSocket(serverPort1);
int i = 0;
while(true){
i++;
Socket socket = ss.accept();
OutputStream sout = socket.getOutputStream();
InputStream sin = socket.getInputStream();
DataInputStream in = new DataInputStream(sin);
DataOutputStream out = new DataOutputStream(sout);
input = in.readUTF();
System.out.println("Message [" + i + "]" +input);
}
}catch(IOException e){
System.out.print(e.getMessage());
}
}
}
Возникли проблемы понять, почему вы используете 2 сокета соединения для клиента и сервера. – Mordechai
Также, пожалуйста, разместите полную трассировку стека, чтобы мы могли понять, что не так. – Mordechai