首页 文章

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

提问于
浏览
1

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

  • 服务器已启动

  • 启动了许多客户端并且"connected"到服务器

  • 客户端A向服务器发送消息,服务器将消息中继到客户端B,C等 .

  • 服务器已停止,所有连接均已关闭

我一直在搞乱实现这个的不同方法,并且想要了解TCP或UDP是否是实现客户端和服务器之间通信的更好协议 . 我正在考虑使用UDP多播进行服务器到客户端的通信,但这会导致用于客户端到服务器通信的UDP套接字出现问题 . 使用TCP与服务器通信然后UDP多播是否有意义?或者我应该废弃多播并且只是全面使用UDP数据报,服务器将收到消息的所有客户端的集合保存到模型“连接” .

1 回答

  • 1

    我很容易,你不必处理数据包顺序,丢包等,因为TCP已经为你做了 . 您可以查看java.nio包,它具有一些可能派上用场的功能 .

    由于越来越多的用户获得更快的连接速度,并且每个包的额外几个字节最终不会做太多,因此使用TCP的开销几乎可以忽略不计 . 我从你的问题中理解它只会处理一组有限的客户,因此会更少注意到它 .

相关问题