java如何实现在线聊天室-创新互联
小编给大家分享一下java如何实现在线聊天室,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

在线聊天室
服务器:
public class Chat {
public static void main(String[]args) throws IOException
{
System.out.println("服务器启动中...");
//创建服务器
ServerSocket server=new ServerSocket(9999);
//阻塞式等待连接,当客户端Socket创建好以后才开启
while(true)
{
Socket client=server.accept();
System.out.println("一个客户端建立了连接");
new Thread(()->{
DataInputStream dis = null;
DataOutputStream dos = null;
try {
dis = new DataInputStream(client.getInputStream());
dos = new DataOutputStream(client.getOutputStream());
} catch (IOException e1) {
e1.printStackTrace();
}
boolean flag=true;
while(flag) {
String msg = null;
try {
msg = dis.readUTF();
dos.writeUTF(msg);
dos.flush();
} catch (IOException e) {
//当断掉客户端连接时,不用循环再读取数据
flag=false;
}
//返回消息
}
try {
if(null!=dos)
{
dos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if(null!=dis)
{
dis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if(null!=client)
{
client.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}).start();
}
}
}客户端:
public class Client {
public static void main(String[]args) throws UnknownHostException, IOException
{
System.out.println("客户端启动中...");
Socket client=new Socket("localhost",9999);
//客户端发送消息
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
DataOutputStream dos=new DataOutputStream(client.getOutputStream());
DataInputStream dis =new DataInputStream(client.getInputStream());
boolean flag=true;
while(flag) {
System.out.println("请输入消息");
String msg=br.readLine();
dos.writeUTF(msg);
dos.flush();
//获取消息
msg=dis.readUTF();
System.out.println(msg);
}
dos.close();
dis.close();
client.close();
}
}以上是“java如何实现在线聊天室”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联网站制作公司行业资讯频道!
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
分享标题:java如何实现在线聊天室-创新互联
文章路径:http://www.jxjierui.cn/article/djpgsi.html


咨询
建站咨询
