2013-05-31 40 views
0

我正在尝试编写一个Java程序,将数据从Beta测试计算机发送到我的。我使用序列化将数据保存到他们的计算机,现在我需要获取它并将其存储在数据库中。为此,我需要他们的IP地址。 (我也将需要它为他们生成一个用户ID。)这是因为,在做这一切,我会成为客户端(sending serialization file via sockets in java),他们将是服务器。当然,在客户端 - 服务器交互中,我需要知道他们的IP地址。为了规避这个问题,我决定让它们成为客户端(并请求知道我的IP地址或其他信息),然后我作为服务器请求他们的IP地址。当我有他们的IP地址时,我可以向他们请求信息并将其存储到数据库中。通过Java中的双向客户端 - 服务器交互发送IP地址

有关如何解决这个问题的任何建议?

+1

你可以编写一个程序,等待数据发送给它,不需要跳过箍。 – Femaref

+0

这只会涉及一个客户端和一个服务器,对吧?另外,您是否还需要知道服务器的IP地址(或其主机名:http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html)? //虽然我必须说,这是天才,并且会得到我的+1。 –

+0

这是正常的客户端/服务器体系结构,任何网络服务器(以及许多其他应用程序)都是这样工作的。等待连接,处理它(例如叉),等待下一个。 – Femaref

回答

1

你只需要一个程序来侦听某个端口上的连接,并处理发送给它的数据。发送数据的程序必须知道主机名或IP地址才能启动与该程序的连接。

侦听连接的程序是服务器,启动连接的程序是客户端。与谁发送数据无关。

+0

'this-> isGoodAnswer();'用户[Aniket Thakur] [someUser]让我在这里担心(请参阅我在我的问题中发布的问题的链接)。我把他的名字联系起来,以便他能看到这一点。 [someUser]:http://stackoverflow.com/users/2396539/aniket-thakur/ –

+0

这样,我可以让这个程序运行在所有时间,监听数据。至于获取他们的IP地址(这不会是我可能为用户生成一个用户ID的唯一方式),我们可以做一些事情,比如[在这里] [firstLink],是吧? [firstLink]:http://www.codereye.com/2010/01/get-real-ip-from-request-in-java.html/ –

+1

请记住,IP地址可以并将改变。例如,我的ISP会重新分配我的知识产权(消费者,而不是商业合同)。 – Femaref

相关问题