简单的java编写客户端服务器通讯注意事项

2015-08-15  本文已影响0人  hazyrain

client  纯粹的客户端 具有 接受和发送两种功能

注意点:1 因为两种功能之间互相不干扰,因此其中一个必须放在独立的线程里。

2 因为接受以及发送都是一直不间断的 所以两者都必须放在死循环里

3 线程的start 不能放在另一个功能循环里,并且必须放在另一个循环之前(因为大家都是死循环,写在后面运行不到)

4 尽量不要多次实例化流,能提出来就提出来

server和customer  server是单纯的服务器 只需要具备接受客户端的功能 但是通过new对象跳转customer,本质上server和customer在一个主线程里。

通过customer来实现数据的转发

1 customer转发功能实质是 先接收A客户端发来的信息,然后把A信息中的ip单独取出来,用for遍历clients来查找匹配ip所对应的B客户端

再把A信息中的信息内容content发送给B

2 因为接受的服务器不止一个,因此customer中对数据的转发功能必须单独放进一个线程,否则会发生只能进一个客户端的情况。

3 接收转发的线程也需要把代码写在死循环里

release 将server socket bw br 四种东西的close方法提出来,并且重载调用

上一篇下一篇

猜你喜欢

热点阅读