2012-11-30 77 views
0

我完全不熟悉Java并慢慢学习基础知识,所以如果这听起来很愚蠢,请道歉。使用套接字发送TCP/IP命令

我试图创建一个应用程序,在按钮上单击它将特定的命令发送到某个IP和端口。该端口将固定在端口32上,但该IP将从一个意图中获取。

public class IPControl extends Activity { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // Get the message from the intent 
    Intent intent = getIntent(); 
    String message = intent.getStringExtra(IPEntry.ACTUALIP); 

这是迄今为止所得到的。

它将需要连接到IP发送命令“Root”(用户名),然后等待答复然后发送另一个命令'Root'(密码),然后等待另一个答复,然后连接后已经建立,我希望能够发送更多的命令按钮点击。

我一直在绞尽脑汁,在网上搜索几天,似乎找不到合适的解决方案。

我将要正确地学习Java,它在我要做的事情清单上,但这对我首先完成至关重要。

如果有人可以帮助它将非常感激。

+1

以root身份登录telnet是一个非常糟糕的主意。如何处理连接,请尝试Apache commons telnet库 –

+0

这是本地网络上的实际设备。该设备本身需要登录根和密码根目录才能更改设置(从产品手册) –

回答

0

这里采用的是Android

TCP /IP

+0

这非常有帮助,谢谢。但是,我怎样才能设置它,使其连接并保持连接,否则每次按下按钮时,都必须每次登录并导致延迟。 –

0

的Java已经很少做这个TCP/IP类型的工作的完整的例子。

在客户端,您必须使用Android平台提供的网络工具。例如,如果要使用HTTP(Web)协议,请参阅:http://developer.android.com/reference/android/net/http/package-summary.html

在服务器端,您需要一个HTTP服务器来接受您的呼叫并处理它们。您可以使用Sinatra轻松构建这样的产品:http://www.sinatrarb.com/。如果你不喜欢基于Ruby的框架,比如Sinatra,你可以很容易地找到许多基于Java的其他框架(但Java对于这项任务来说要复杂得多)。

顺便说一句:您尝试构建的工具通常称为“身份验证系统”或“登录系统”。

+0

感谢您的帮助,我试图连接到一个实际的单位。目前我可以连接的方式是通过PC上的telnet,我必须键入每个命令。实际的连接没有安全性,所以我不需要登录。但一旦连接,你需要一个用户名和密码来改变细节(因此,为什么我需要连接然后发送用户名作为命令) –