您好我是新来的Java套接字,我一直在尝试创建一个服务器套接字。有人可以告诉我哪里出错了,因为我收到错误说“地址已在使用中”。有时我没有得到一个错误,但是它并没有形成连接。请帮助?这是服务器类和客户端类。套接字服务器无连接
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.ServerSocket;
import java.net.Socket;
public class MessageServer {
public static void main(String[] args) throws IOException{
int port = 8080;
//int port = Integer.parseInt(args[0]);
ServerSocket server = new ServerSocket(port);
while(true){
System.out.println("Waiting for client...");
Socket client = server.accept();
System.out.println("Client from " + client.getInetAddress() + " connected.");
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
String inputLine = in.readLine();
System.out.println("Client said: '"+inputLine+"'");
Writer count = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
byte c [] = count.toString().getBytes();
count.flush();
}
}
}
import java.net.*;
import java.io.*;
public class MessageSendClient {
public static void man(String args[]) throws IOException{
Socket server1 = new Socket("143.210.72.82", 8080);
System.out.println("Connected to " + server1.getInetAddress());
InputStream in = server1.getInputStream();
byte c[] = new byte[100];
int num = in.read(c);
String count = new String(c);
System.out.println("Server said: " + count);
}
}
尝试使用“localhost”而不是'143.210.72.82',并且不要使用已用于其他用途的8080端口号。 – Braj
可能你的程序在你每次运行它时都没有关闭套接字,并且套接字只有在套接字超时后才可用。 –
您已经同时运行两次服务器。 – Braj