今天在极客学院上看到了一个关于Socket的视频讲解,感觉还不错,就写了份代码,拿来分享一下。
Socket使用方法
关于Socket的使用,我们首先要弄清楚的是,在服务器端还是在客户端使用。因为这的确是很重要的。
对于客户端,需要使用
new Socket(ip,port)
就可以了。对于服务器端的话,我们需要借助于ServerSocket 的accept方法获得与特定的客户端相关联的Socket实例。
然后通信的双方借助于socket里面的方法,获得输出流和输入流完成相关的通信的逻辑处理就可以了
我的服务器端的实现
首先先展示一下我的目录结构吧。
每个类的实现的功能就是:
- ChatManager:添加socket到队列;发送数据
- ChatSocket: 实现了单独的线程的通信处理
- MainTest: 本类的测试入口
- ServerListener: 服务器端的侦听类,负责获取连接成功的客户端
然后是具体的代码。
个人建议代码的阅读顺序为:MainTest.java–>