我想用Java创建一个简单的局域网会议聊天式信使,但我有不知道从哪里开始。
它必须具有以下特点:
创建一个简单的局域网信使
试想它作为一个建筑是一个信使,允许所有的员工虽然你的问题是相当模糊的相互
我想用Java创建一个简单的局域网会议聊天式信使,但我有不知道从哪里开始。
它必须具有以下特点:
创建一个简单的局域网信使
聊天你似乎有基础知识(插座和所有这些)到位。我建议你首先阅读Oracle网站上的All About Sockets和All About Datagrams Java课程以开始。您可能想要消化的第二课的主要内容是关于广播的部分(用于自动服务器检测)。
下面是我会去实施的高级别:
显然有很多方法来制作这种应用程序。我并不是说我描述的方式是最好的。但是,它可能适用于您描述的用例,并且其实现非常简单。
听起来像你需要一个服务器应用程序和每个用户的客户端应用程序。他们将通过套接字进行通信。服务器将打开一个ServerSocket
,客户端将创建Socket
,并在他们想聊天时连接到服务器。
服务器需要能够接受来自客户端的连接。服务器将保存所有的全局细节,比如什么样的聊天室存在,谁在哪等。基本行为是当聊天室中有几个人(客户)时,一个客户端会说些什么,这是发送的通过套接字连接到服务器。服务器拥有聊天室中所有客户端(套接字)的列表,并将消息发送给每个客户端(套接字)。
最后,您需要知道服务器必须是多线程的,并且可能需要为每个连接的客户端套接字创建一个新线程。
端口号怎么样?指导请:) –
@FasihKhatib港口号码是你自己决定的。您可以从1024以上的端口中选择。您应该尽量避免常见应用程序使用的端口。我通常使用高端口号,因为碰撞不太可能发生。 – Kallja
既然你不知道是否有将是实现这一目的的服务器或没有,也许,除了先前的响应,这将是对你有意思的下一个环节:
http://docs.oracle.com/javase/tutorial/networking/datagrams/broadcasting.html
块选项可以实现保存IP列表并忽略来自它们的消息。
你必须考虑摆动教程以及所以你可以看到你是如何创建的窗口,文本框,文本域,按钮等,这样你就可以创建你的接口:
http://docs.oracle.com/javase/tutorial/uiswing/
例如,您可以使用属性文件很容易地保存用户,但是如果您提出这类问题,也许您必须从头开始学习java。
您可以从Google开始!这里有一个简单的客户端/服务器示例http://systembash.com/content/a-simple-java-tcp-server-and-tcp-client/ – hovanessyan