北京中侨外国语学校:求高手帮忙啊,关于java的!!!急用!!!23号之前!!!

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 09:50:50
题目是:
有一段Server程序,目的是能够同时服务多个
客户,客户的请求是一句话(一个 String)。如
果这个请求的内容是字符串"plain"的话,服务器
仅将"hello"字符串返回给用户。如果用户请求
file+"contents"的话追加到当前目录的文本文
件Memo.txt中(路径为"Memo.txt"),并向用户
返回"OK"。如果客户请求其他内容,则抛出自定
义异常UnsurportedRequestException,并向用户
反馈异常信息。注意Server并发的处理多用户,
Memo.txt被共享,要求不能出现数据不一致,
线程使用接口方式创建。

import java.io.*;
import java.net.*;

public class FServer//服务器端
{
public static void main(String args[]) throws Exception
{
ServerSocket ss=new ServerSocket(4000);
Socket s=ss.accept();
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
String message="";
String temp;

do
{
temp=br.readLine();
if(temp==null)
{
break;
}
message=message+temp;
}
while(true);
br.close();
PrintStream ps=new PrintStream(new FileOutputStream("message.txt"));
BufferedWriter dataout=new BufferedWriter(new FileWriter("message.txt"));
System.out.println(message);
dataout.write(message);
ps.println(message);
dataout.close();
ps.close();
}
}

import java.net.*;
import java.io.*;

public class FClient//客户端!
{
public static void main(String args[])throws Exception
{
Socket s=new Socket("localhost",4000);
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the message to the server");
String message="";
String temp;

while(!((temp=br.readLine()).equals("send")))
{
message=message+temp+"\n";
}
PrintStream ps=new PrintStream(s.getOutputStream());
ps.println(message);
s.close();
ps.close();
}
}

先运行服务器端,再运行客户端,在客户端输入“wo ai ni ”回车,再输入“send”回车,服务器端就可以看到“wo ai ni”,你可以根据要求改一下服务器端!