繁体   English   中英

Java中的客户端-服务器聊天应用程序

[英]Client-Server chat application in Java

我目前正在尝试用Java实现客户端-服务器聊天应用程序。 该项目的简介是,许多客户端应该能够连接到中央服务器,每个客户端通过该中央服务器进行通信。 它应如下工作:

  • 服务器启动
  • 许多客户端已启动并“连接”到服务器
  • 客户端A向服务器发送消息,服务器将其中继到客户端B,C等。
  • 服务器已停止,所有连接均已关闭
  • 我一直在用不同的方式来实现此目的,并且想就TCP还是UDP是实现客户端与服务器之间通信的更好协议提供一些建议。 我当时正在考虑使用UDP多播进行服务器到客户端的通信,但是那会导致用于客户端到服务器通信的UDP套接字出现问题。 使用TCP与服务器进行通信,然后使用UDP多播会有意义吗? 还是我应该废弃多播,而只使用UDP数据报,而服务器将收集从中接收消息的所有客户端的集合作为“连接”模型。

    我建议您使用TCP。 这相当容易,而且因为TCP已经为您完成了,所以您不必处理数据包顺序,数据包丢失等情况。 您可以看一下java.nio包,它具有一些可能派上用场的功能。

    由于越来越多的用户获得更快的连接速度,并且每个包额外的几个字节最终并不会起到太大作用,因此使用TCP产生的开销几乎可以忽略不计。 我从您的问题中了解到,它只能处理有限的客户群,因此受到的关注甚至更少。

    暂无
    暂无

    声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

     
    粤ICP备18138465号  © 2020-2024 STACKOOM.COM