ServerSocket和Socket的问题
先看代码
《MultiJabberServer》
import java.io.*;
import java.net.*;
public class MultiJabberServer
{
static final int PORT = 8080;
public static void main(String[] args)
throws IOException
{
ServerSocket s = new ServerSocket(PORT);
System.out.println("==服务端开始==");
try
{
while (true)
{
Socket socket = s.accept();
try
{
new ServeOneJabber(socket);
}
catch (IOException e)
{
socket.close();
}
}
}
finally
{
s.close();
}
}
}
《ServeOneJabber》
import java.io.*;
import java.net.*;
public class ServeOneJabber extends Thread
{
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public ServeOneJabber(Socket s)
throws IOException
{
socket = s;
in =
new BufferedReader(
new InputStreamReader(
socket.getInputStream()));
out =
new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(
socket.getOutputStream())), true);
start();
}
@Override
public void run()
{
try
{
while (true)
{
String str = in.readLine();
if (str.equals("END"))
{
break;
}
System.out.println("==输出==" + str);
out.println(str);
}
System.out.println("==客户端退出了==");
}
catch (IOException e)
{
}
finally
{
try
{
socket.close();
}
catch (IOException e)
{
System.out.println("==客户端意外掉线了==");
}
}
}
}
本人学生
有个问题是:
现在假设有两个客户端连接进来了 分别是A和B
现在A传了个值给服务器
我怎么做才能把这个值传给B?
小弟不懂 new ServeOneJabber(socket)后
直接交给线程start()了
我怎么区分A和B?