我想用Java创建一个简单的局域网会议聊天风格信使,但我 没有线索从哪里开始 。
它必须具备以下特点:
答案 0 :(得分:6)
虽然你的问题很模糊,但你似乎已经掌握了基础知识(插座和所有这些)。我建议您先阅读Oracle网站上的All About Sockets和All About Datagrams Java课程,然后开始使用。您可能想要消化的第二课的主要内容是关于广播的部分(用于自动服务器检测)。
以下是我如何在高层次上实施:
显然有很多方法可以制作这种应用程序。我不是说我描述的方式是最好的。但是,它可能适合您描述的用例,其实现相当简单。
答案 1 :(得分:3)
听起来您需要为每个用户提供服务器应用和客户端应用。他们将通过套接字进行通信。服务器将打开ServerSocket
,客户端将创建Socket
并在他们想要聊天时连接到服务器。
服务器需要能够接受来自客户端的连接。服务器将保存所有全局详细信息,例如存在哪些聊天室,每个人等等。基本行为是这样 当聊天室中有多个人(客户端)时,一个客户端会说些什么,这会通过套接字发送到服务器。服务器有一个聊天室中所有客户端(套接字)的列表,并将消息发送给每个客户端。
最后,您需要注意服务器必须是多线程的,并且可能需要为每个连接的客户端套接字提供一个新线程。
答案 2 :(得分:2)
既然你没有说出是否会出现这种用途的服务器,可能除了之前的回复之外,下一个链接对你来说很有意思:
http://docs.oracle.com/javase/tutorial/networking/datagrams/broadcasting.html
可以实现阻止选项,保存IP列表并忽略来自它们的消息。
你必须查看swing教程,这样你就可以看到如何创建窗口,文本框,textareas,按钮等,这样你就可以创建你的界面:
http://docs.oracle.com/javase/tutorial/uiswing/
例如,您可以使用属性文件轻松保存用户,但如果您提出此类问题,则可能必须从头开始学习java。