[英]How can I simulate a Client-Server application using Java threads?
对于此学校作业,我需要使用Java线程(无需套接字等)来模拟客户端服务器类型的应用程序。 我该怎么做呢?
我需要一种服务器启动方法,等待客户端调用它,然后它应该返回响应。 我脑海中的“ API”类似于:
server.start()
client1.connect(server)
client2.connect(server)
x = client1.getData()
y = client2.getData()
success1 = client1.sendData(1)
success2 = client2.sendData(2)
server | client.run方法的外观如何? 假设我现在可以对方法调用进行硬编码。
根据您提供的说明,我可以建议您应该写一些类似的内容
1)有一个队列,所有客户端都可以在该队列中发送消息。
2)正在像while(true)这样的无限循环中运行的服务器等待已放入队列中的新消息,如果找到了新消息,则对其进行处理并将其标记为已处理。
3)客户端线程的工作是创建消息并将其放入队列。 并通知服务器新消息已添加到队列中,以便服务器可以知道新消息已到达以进行处理。
为了使该程序正常工作,我认为您需要学习Thread的notify,notifyAll()和wait()方法。 因此,基本上没有套接字,您在找什么“线程间通信”。 该链接可以提供帮助。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.