我對telnet不是很熟悉,所以我很感激任何願意的幫助。 我有智能插頭,可以通過telnet接口打開或關閉。 我總是通過命令提示符使用telnet連接到服務器Digi X4連接端口(通過> telnet)。如果我想打開/關閉插座,我現在必須輸入:「12 set pow = on/off」並按下回車鍵。 我想通過使用telnet客戶端的java來實現這一點。我現在可以連接到端口(感謝這個平臺上發佈的答案),但發送命令切換設備開啓/關閉對我來說很困難。我仍然需要輸入「12 set pow = on/off」並按下回車鍵。我希望Java發送這個命令。 以下是我的java代碼。我將不勝感激您的協助。 Bab發送一個字符串命令到套接字
public class TelnetConnection {
static TelnetClient tc = null;
public static void main(String[] a) throws Exception
{
String[] args = {"122.1222.181.45","8085"};
System.out.println("arg value: "+args);
if(args.length < 1)
{
System.err.println("Usage: Error <remote-ip> [<remote-port>]");
System.exit(1);
}
String remoteip = args[0];
int remoteport;
if (args.length > 1)
{
remoteport = (new Integer(args[1])).intValue();
}
else
{
remoteport = 7000;
}
tc = new TelnetClient();
while (true)
{
boolean end_loop = false;
try
{
tc.connect(remoteip, remoteport);
Thread reader = new Thread (new TelnetClientExample());
tc.registerNotifHandler(new TelnetClientExample());
System.out.println("TelnetClientExample");
reader.start();
OutputStream outstr = tc.getOutputStream();
PrintWriter out = new PrintWriter(outstr);
String buff = "11 set pow=on";
//int ret_read = 0;
do
{
try
{
out.print(buff);
outstr.flush();
}
catch (IOException e)
{
System.err.println("Error");
end_loop = true;
}
}
while((true) && (end_loop == false));
try
{
tc.disconnect();
}
catch (IOException e)
{
System.err.println("Error");
}
}
catch (IOException e)
{
System.err.println("Exception while connecting:" + e.getMessage());
System.exit(1);
}
}
}
}