Я не очень хорошо знаком с telnet, поэтому я был бы признателен за помощь любого желающего. У меня есть интеллектуальные разъемы, которые можно включать и выключать через интерфейс telnet. Я всегда использую telnet через командную строку для подключения к серверу Digi X4 connect port (через> telnet). Если я хочу включить/выключить сокет, я должен теперь ввести: «12 set pow = on/off» и нажать enter. Я хотел бы реализовать это через java с помощью telnet-клиента. Теперь я могу подключиться к порту (благодаря ответам, размещенным на этой платформе), но отправить команду на включение/выключение устройств сложно для меня. Мне еще нужно ввести «12 set pow = on/off» и нажать enter. Я бы хотел, чтобы 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);
}
}
}
}