展开全部
处理多客户机请求32313133353236313431303231363533e4b893e5b19e31333335346130的服务器import java.io.*;
import java.net.*;
public class ServerSocketTest extends Thread
{
Socket socket=null;
BufferedReader br=null;
BufferedWriter bw=null;
public ServerSocketTest(Socket socket)
{
this.socket=socket;
try
{
InputStream is=socket.getInputStream();
br=new BufferedReader(new InputStreamReader(is));
OutputStream os=socket.getOutputStream();
bw=new BufferedWriter(new OutputStreamWriter(os));
}
catch (IOException e)
{
System.out.println("操作发生异常");
}
}
public void run()
{
try
{
String len=br.readLine();
double d=Double.parseDouble(len);
System.out.println("从客户机接受的数字为:"+d);
double l=2*Math.PI*d;
String ls=new Double(l).toString();
bw.write(ls);
bw.newLine();
bw.flush();
bw.close();
}
catch (IOException e)
{
System.out.println("IO流操作发生异常");
}
}
public static void main(String[] args)
{
ServerSocket server=null;
Socket socket=null;
try
{
server=new ServerSocket(8888);
System.out.println("成功创建服务器套接字");
System.out.println("处于等待客户机连接状态");
while(true)
{
socket=server.accept();
System.out.println("和客户机建立连接");
new ServerSocketTest(socket).start();
}
}
catch (IOException e)
{
System.out.println("服务器套接字操作发生异常");
}
finally
{
try
{
if(server!=null)
{
server.close();
}
}
catch (IOException e)
{
System.out.println("关闭服务器套接字发生异常");
}
}
}
}
发送请求的多客户机
SocketTest1import java.io.*;
import java.net.*;
public class SocketTest1
{
public static void main(String[] args)
{
Socket client=null;
BufferedWriter bw=null;
BufferedReader br=null;
try
{
System.out.println("尝试和服务器建立连接");
client=new Socket("127.0.0.1",8888);
System.out.println("建立连接成功");
OutputStream os=client.getOutputStream();
bw=new BufferedWriter(new OutputStreamWriter(os));
InputStream is=client.getInputStream();
br=new BufferedReader(new InputStreamReader(is));
bw.write("5.0");
bw.newLine();
bw.flush();
System.out.println("指定半径的周长为:"+br.readLine());
}
catch (UnknownHostException e)
{
System.out.println("连接失败,域名错误");
}
catch(IOException e)
{
System.out.println("连接失败,发生操作套接字异常");
}
finally
{
try
{
if(client!=null)
{
client.close();
}
if(bw!=null)
{
bw.close();
}
if(br!=null)
{
br.close();
}
}
catch (IOException e)
{
System.out.println("关闭套接字发生异常");
}
}
}
}
SocketTest2import java.io.*;
import java.net.*;
public class SocketTest2
{
public static void main(String[] args)
{
Socket client=null;
BufferedWriter bw=null;
BufferedReader br=null;
try
{
System.out.println("尝试和服务器建立连接");
client=new Socket("127.0.0.1",8888);
System.out.println("建立连接成功");
OutputStream os=client.getOutputStream();
bw=new BufferedWriter(new OutputStreamWriter(os));
InputStream is=client.getInputStream();
br=new BufferedReader(new InputStreamReader(is));
bw.write("3.0");
bw.newLine();
bw.flush();
System.out.println("指定半径的周长为:"+br.readLine());
}
catch (UnknownHostException e)
{
System.out.println("连接失败,域名错误");
}
catch(IOException e)
{
System.out.println("连接失败,发生操作套接字异常");
}
finally
{
try
{
if(client!=null)
{
client.close();
}
if(bw!=null)
{
bw.close();
}
if(br!=null)
{
br.close();
}
}
catch (IOException e)
{
System.out.println("关闭套接字发生异常");
}
}
}
}