为了账号安全,请及时绑定邮箱和手机立即绑定

如何Socket实现多个客户端相互通信(图文无关)

public class ServerThread extends Thread {

// 和本线程相关的Socket

Socket socket = null;


public ServerThread(Socket socket) {

this.socket = socket;

}

//线程执行的操作,响应客户端的请求

public void run(){

InputStream is=null;

InputStreamReader isr=null;

BufferedReader br=null;

OutputStream os=null;

PrintWriter pw=null;

try {

//获取输入流,并读取客户端信息

is = socket.getInputStream();

isr = new InputStreamReader(is);

br = new BufferedReader(isr);

String info=null;

while((info=br.readLine())!=null){//循环读取客户端的信息

System.out.println("我是服务器,客户端说:"+info);

}

socket.shutdownInput();//关闭输入流

//获取输出流,响应客户端的请求

os = socket.getOutputStream();

pw = new PrintWriter(os);

pw.write("欢迎您!");

pw.flush();//调用flush()方法将缓冲输出

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

//关闭资源

try {

if(pw!=null)

pw.close();

if(os!=null)

os.close();

if(br!=null)

br.close();

if(isr!=null)

isr.close();

if(is!=null)

is.close();

if(socket!=null)

socket.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}


正在回答

1 回答

所谓的多客户端相互通信,其实就是服务端在中间负责转发多个客户端的消息而已。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

如何Socket实现多个客户端相互通信(图文无关)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信