我需要帮助。我正在制作一个样本队列系统。 当我尝试写入数据并将其存储到服务器时,服务器返回一个异常。 我也是一个插座新手,所以我会感谢任何人谁将回答我的问题的任何帮助。将客户端写入服务器Java
这里是我的代码为学生:
import java.lang.*;
import java.io.*;
import java.net.*;
import java.util.*;
public class Student {
public static void main(String args[]) {
Scanner sc = new Scanner (System.in);
try {
Socket skt = new Socket("localhost", 1234);
PrintWriter out = new PrintWriter(skt.getOutputStream(), true);
System.out.println("Hello!");
System.out.print("Please enter name: ");
String name = sc.next();
System.out.print("Please enter ID Number: ");
String id = sc.next();
String student = name +" - "+ id;
out.print(student);
} catch(Exception e) {
System.out.println("Whoops! It didn't work.");
}
}
}
和服务器:
import java.lang.*;
import java.io.*;
import java.net.*;
import java.util.*;
public class Server {
public static void main(String args[]) {
Scanner sc = new Scanner (System.in);
ArrayList<String> collector = new ArrayList<String>();
try {
ServerSocket srvr = new ServerSocket(1234);
Socket skt = srvr.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(skt.getInputStream()));
System.out.print(in.readLine());
String x = in.readLine();
collector.add(x);
}
catch(Exception e) {
System.out.print("Whoops! It didn't work!\n");
}
}
}
您收到的例外是什么? –
发送时需要添加“\ n”,因为您在服务器上执行readLine操作,并且readLine会在字符串末尾等待“\ n”。 –
实际上,问题在于客户端连接没有正确关闭,所以他在服务器上得到连接重置异常。 – Sirs