Qt Code:
  1. #include <QtGui>
  2. #include <QImage>
  3. #include "kuvaclient.h"
  4.  
  5.  
  6. // including <QtGui> saves us to include every class user, <QString>, <QFileDialog>,...
  7.  
  8. KuvaClient::KuvaClient(QDialog *parent)
  9. {
  10. setupUi(this); // this sets up GUI
  11.  
  12. tcpSocket = new QTcpSocket(this);
  13. sockStream = new QDataStream(tcpSocket);
  14. file = new QFile("testi.bmp");
  15. if(file->exists())
  16. file->remove();
  17. file->open(QIODevice::ReadWrite);
  18.  
  19. numberFrame=0;
  20. fileStream = new QDataStream(file);
  21. tcpSocket->abort();
  22. tcpSocket->connectToHost("masa",1200);
  23. connect(vasen, SIGNAL( clicked() ), this, SLOT( Vasenpaina()));
  24. connect(oikea, SIGNAL( clicked() ), this, SLOT( Oikeapaina()));
  25. connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(readImage()));
  26.  
  27. connect(tcpSocket, SIGNAL(error(QAbstractSocket::SocketError)),
  28. this, SLOT(displayError(QAbstractSocket::SocketError)));
  29. }
  30.  
  31. void KuvaClient::Vasenpaina()
  32. {
  33.  
  34. tcpSocket->abort();
  35. tcpSocket->connectToHost("localhost",1200);
  36. numberFrame=numberFrame+1;
  37. QString number=number.setNum(numberFrame);
  38. //koe->setText(number);
  39.  
  40. tcpSocket->write(number);
  41.  
  42.  
  43.  
  44.  
  45. }
  46. void KuvaClient::readImage()
  47. {
  48.  
  49. //tcpSocket->seek(0);
  50. char *buffer = new char[65536];
  51. //int count = tcpSocket->bytesAvailable();
  52. //sockStream->resetStatus();
  53. while(!sockStream->atEnd())
  54. {
  55. int src = sockStream->readRawData(buffer, 65536);
  56. int rcv = fileStream->writeRawData(buffer, src);
  57. int xxx = 0;
  58. xxx++;
  59. }
  60.  
  61. delete[] buffer;
  62. file->flush();
  63. QImage someimage("testi.bmp");
  64. QPixmap preview;
  65. preview = preview.fromImage(someimage);
  66.  
  67. label->setPixmap(preview);
  68. tcpSocket->waitForBytesWritten();
  69.  
  70.  
  71. }
  72. void KuvaClient::Oikeapaina()
  73. {
  74.  
  75.  
  76. tcpSocket->abort();
  77. tcpSocket->connectToHost("locahost",1200);
  78. numberFrame++;
  79. /*QString number=number.setNum(numberFrame);
  80.   tcpSocket->write(number.toLatin1() );
  81. tcpSocket->deleteLater();
  82. */
  83.  
  84. }
  85. void KuvaClient::displayError(QAbstractSocket::SocketError socketError)
  86. {
  87. switch (socketError) {
  88. case QAbstractSocket::RemoteHostClosedError:
  89. break;
  90. case QAbstractSocket::HostNotFoundError:
  91. QMessageBox::information(this, tr("Fortune Client"),
  92. tr("The host was not found. Please check the "
  93. "host name and port settings."));
  94. break;
  95. case QAbstractSocket::ConnectionRefusedError:
  96. QMessageBox::information(this, tr("Fortune Client"),
  97. tr("The connection was refused by the peer. "
  98. "Make sure the fortune server is running, "
  99. "and check that the host name and port "
  100. "settings are correct."));
  101. break;
  102. default:
  103. QMessageBox::information(this, tr("Fortune Client"),
  104. tr("The following error occurred: %1.")
  105. .arg(tcpSocket->errorString()));
  106. }
  107.  
  108.  
  109. }
To copy to clipboard, switch view to plain text mode 
This is my client code.It' writes message to server,but i can't read message from socket in the server side.