在jframe中使用JTextField输入ip地址,
点击连接按钮通过点击事件 声明socket并与server建立连接
btnconnect.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
SocketConnect sc= new SocketConnect(txtip.getText());
}
});
public class SocketConnect implements Runnable{
Socket socket;
String ip;
SocketConnect(String ip){
this.ip=ip;
}
@Override
public void run() {
// TODO Auto-generated method stub
try {
socket = new Socket(ip,502);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
建立连接后,点击开始监控按钮开始向server端发送数据
问题1:socket是在连接按钮的点击事件里面声明的无法传到开始监控按钮的点击事件里面,希望达到的效果就是点击连接按钮就建立一个新的socket,所以不能使用静态变量,如何将连接按钮里面的socket对象传给开始监控按钮的点击事件里面的线程。
问题2:另外如何判断是否已经与该ip的server建立了连接,如果已经建立了连接就system.out.print一句话,如果没建立连接再建立socket,麻烦哪个牛人给解决下