Dydaktyka:
To jest stara wersja strony!
O Qt
Wersje frameworku
qmake
Wnętrzności: uic
, moc
Pętla zdarzeń, signals
, slots
, connect
Klasy do obsługi socketów:
QObject::connect
, sygnał newConnection
readyRead
[1]Zadanie 1:
QWidget
jako klasę bazową domyślnie tworzonej klasy*.qmake
):QT += network CONFIG += c++11
QLineEdit
i QSpinBox
) i (opcjonalnie) przycisk do nawiązywania połączenia (QPushButton
)QTextEdit
) i na wpisywanie wiadomości do wysłania (np. QLineEdit
)QTcpSocket
), jeśli trzeba stwórz go w konstruktorzeconnected
, disconnected
i error
(lub zdarzenie stateChanged
) QTextEdit
ma metodę append()
(thread-safe)QLineEdit
wyciąga się metodą text()
QSpinBox
wyciąga się metodą value()
QTcpSocket
nawiązuje się (asynchronicznie) używając metody connectToHost
(metody connect
i disconnect
są zajęte przez obsługę zdarzeń)
IP multicast - przypomnienie
Pula adresów (224/4), lokalne adresy (224/24), Organization-Local Scope
IGMP
Użycie IP multicast w BSD socket API: multicast_example
Zadanie 2a: Wybierzcie wspólnie adres i port grupy multicastowej
Zadanie 2b: Zmodyfikuj poprzedni projekt:
QUdpSocket
)bind
dla QHostAddress::AnyIPv4
i wybranego portu QUdpSocket::ShareAddress
readDatagram
(rozmiar datagramu pozasz metodą pendingDatagramSize
)writeDatagram
na adres grupy