首先说我的问题:我需要用java做一个服务器端,当客户端发过一条请求来以后,服务器端开始每隔1s对客户端发送一个字符串。
然后说我的思路:
这是服务端。
public static void main(String[] args) {
String temp;
try {
while (true) {
ServerSocket ss = new ServerSocket(30000);
// 每当接受到客户端socket的请求,服务端也对应产生一个socket
Socket s = ss.accept();
System.out.println("IP为" + s.getInetAddress() + "连接此服务器");
// 接受客户端发送的数据
BufferedReader br = new BufferedReader(new InputStreamReader(
s.getInputStream()));
System.out.println("来自客户端的数据:" + br.readLine());
// 将Socket对应的输出流包装成PrintStream
PrintStream ps = new PrintStream(s.getOutputStream());
// 进行普通的 io操作
temp = new ds().product();
System.out.println("temp" + temp);
ps.println(temp);
ps.close();
br.close();
s.close();
}
} catch (Exception e) {
// TODO: handle exception
}
其中 temp=new Ds().product();是一个线程类,每1s返回一个不同的String.
问题就来了,我的server类是不是也应该是一个线程类?client是不是也应该是一个线程类?
或者我的server如果是一个线程类的话,我是不是就不需要再把赋值的类写成一个线程了???
求好心人帮助,嘿嘿