import java.io.*;
import java.net.*;
public class ServerThread extends Thread {
private Socket s;
private DataInputStream is;
private DataOutputStream os;
public ServerThread(Socket socket)throws IOException{
super();
s=socket;
is=new DataInputStream(s.getInputStream());
os=new DataOutputStream(s.getOutputStream());
start();
}
public void run()
{
try{
String str;
double result,zhi;
boolean NotEnd=true;
while(NotEnd){
str=is。readUTF();
if(!str.equals("bye"))
{
zhi=Double.parseDouble(str);
System.out.println("接受到的值为:"+zhi);
result=zhi*zhi;
str=Double.toString(result);
os.writeUTF(str);
os.flush();
System.out.println("平方值"+str+"已经发送");
}else{
NotEnd=false;
os.writeUTF("bye");
os.flush();
}
}
is。close();
os.close();
s.close();
}catch(IOException e)
{
e.printStackTrace();
}
}
}
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class MultiServer {
public static void main(String[] args) {
try{
System.out.println("等待连接");
ServerSocket serverSocket=new ServerSocket(5500);
Socket s=null;
while(true)
{
s=serverSocket.accept();
new ServerThread(s);
}
}catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import javax.xml.crypto.Data;
public class Client {
public static void main(String[] args) {
try
{
Socket s=new Socket("localhost", 5500);
DataInputStream is=new DataInputStream(s.getInputStream());
DataOutputStream os=new DataOutputStream(s.getOutputStream());
System.out.println("输入待求平方值,输入bye结束");
String outStr,inStr;
boolean NotEnd=true;
BufferedReader buf=new BufferedReader(new InputStreamReader(System。in));
while(NotEnd)
{
outStr=buf.readLine();
os.writeUTF(outStr);
os.flush();
inStr=is.readUTF();
if(!inStr.equals("bye"))
System.out.println("返回结果:"+inStr);
else
NotEnd=false;
}
is.close();
os.close();
s.close();
}catch(IOException e)
{
e.printStackTrace();
}
}
}