ServerSocket和Socket的问题

zjkboy 2008-07-25 08:46:11
先看代码
《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?
...全文
38 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧