Ето кода на програмата. Проблема е че tcp сокета си седи на connecting. Не ми се сърдете че не съм го направил със сигнали- мързешеме, а и съм сигурен какъв ще е резултата.
Къде е проблема
GeSHi (Java):
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import javax.swing.JFrame;
import com.trolltech.qt.core.QDataStream;
import com.trolltech.qt.core.QIODevice;
import com.trolltech.qt.core.QIODevice.OpenModeFlag;
import com.trolltech.qt.network.QAbstractSocket;
import com.trolltech.qt.network.QHostAddress;
import com.trolltech.qt.network.QTcpSocket;
import com.trolltech.qt.network.QHostAddress.SpecialAddress;
public class GiglesMain
extends JFrame{ QTcpSocket socket;
public GiglesMain(){
initGUI();
}
protected void initGUI(){
}
// public void windowClosed(WindowEvent e){
// System.exit(0);
// }
});
System.
out.
println("/----- Data Send----/");
QDataStream stream = new QDataStream(socket);
stream.
writeInt(Integer.
valueOf(ctrwField.
getText()));
System.
out.
println("State: "+socket.
state()+" Data sent : "+Integer.
valueOf(ctrwField.
getText())+" Data to write:"+socket.
bytesToWrite());
}
public void displayError(QAbstractSocket.SocketError error){
System.
out.
println("Socket error: "+error
);
}
public void bytesWritten(){
System.
out.
println("bytes are written");
}
});
// TODO Auto-generated method stub
System.
out.
println("Socket status: "+socket.
state()+" Error String:"+socket.
errorString());
}
});
System.
out.
println("/------Defined socket--------/");
socket = new QTcpSocket();
System.
out.
println("Tryint to connect socket");
socket.connectToHost(new QHostAddress(SpecialAddress.LocalHost),9999, OpenModeFlag.WriteOnly);
System.
out.
println(socket.
state());
}
});
this.add(ctrwField);
this.add(connectButton);
this.add(sendButton);
this.add(statusButton);
this.setSize(300, 200);
this.setVisible(true);
}
public static void main
(String[] args
){ GiglesMain app = new GiglesMain();
}
}
Малко dump:
------Defined socket--------/
Tryint to connect socket
ConnectingState
/----- Data Send----/
State: ConnectingState Data sent : 5 Data to write:4
/----- Data Send----/
State: ConnectingState Data sent : 5 Data to write:8
/----- Data Send----/
State: ConnectingState Data sent : 5 Data to write:12
/----- Data Send----/
State: ConnectingState Data sent : 5 Data to write:16
Много ви благодаря за помощта