package com.jandar.vtm.system.service;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.SocketException;
import java.nio.CharBuffer;
import org.apache.commons.net.telnet.TelnetClient;
public class TCPClient {
private TelnetClient tcpClient = null;
//传入目标电脑ip,端口号,要发送给它的内容
public String sendRISC(String IP,int port,String content){
tcpClient = new TelnetClient();//创建客户端对象,相当于sorket
//客户端发送数据
try {
tcpClient.connect(IP,port);
OutputStream os = tcpClient.getOutputStream();
os.write(content.getBytes("utf-8"));
os.flush();
//os.close();//不要关闭,后面等待服务端传过来的内容
//获取服务端内容
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(tcpClient.getInputStream(),"utf-8"));
CharBuffer charBuffer = CharBuffer.allocate(8192);
int index = -1;
while((index=reader.read(charBuffer))!=-1){
charBuffer.flip(); //对面电脑是用C#些的服务端,所以不用index来得到数据,直接通过CharBuffer再好不过
System.out.println("client:"+charBuffer.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
tcpClient.disconnect();
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "error";
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "error";
}
return "success";
}
}