Hi all
i am working on socket programming but i am not understanding the reason behind the problem. I have three classes light_frame.cpp, home_profile.cpp and socket.cpp
In socket.cpp class i implement the socket and with remaining two classes i am connecting that socket but it is not working correctly, with first class the output is desire but in second class, it is sending nothing to server.
Code for the three classes are:

Light_frame.cpp
Qt Code:
  1. Light_frame::Light_frame(QWidget *parent) :
  2. QFrame(parent)
  3. {
  4. QSignalMapper *signalMapper = new QSignalMapper(this);
  5. signalMapper->setMapping(button_1st, 1);
  6. signalMapper->setMapping(button_2nd, 2);
  7. signalMapper->setMapping(button_3rd, 3);
  8. signalMapper->setMapping(button_down_arrow, 4);
  9. signalMapper->setMapping(button_up_arrow, 5);
  10.  
  11.  
  12. connect(button_1st, SIGNAL(clicked()),
  13. signalMapper, SLOT (map()));
  14. connect(button_2nd, SIGNAL(clicked()),
  15. signalMapper, SLOT (map()));
  16. connect(button_3rd, SIGNAL(clicked()),
  17. signalMapper, SLOT (map()));
  18. connect(button_down_arrow, SIGNAL(clicked()),
  19. signalMapper, SLOT (map()));
  20. connect(button_up_arrow, SIGNAL(clicked()),
  21. signalMapper, SLOT (map()));
  22. connect(signalMapper, SIGNAL(mapped(int)),
  23. this, SLOT(open(int)));
  24.  
  25. Socket *socket_new = new Socket(this);
  26.  
  27. QSignalMapper *signalMapper_socket = new QSignalMapper(this);
  28. signalMapper_socket->setMapping(button_1st, 4);
  29. signalMapper_socket->setMapping(button_2nd, 5);
  30. signalMapper_socket->setMapping(button_3rd, 6);
  31. signalMapper_socket->setMapping(button_on, 7);
  32. signalMapper_socket->setMapping(button_off, 8);
  33. signalMapper_socket->setMapping(button_down_arrow, 9);
  34. signalMapper_socket->setMapping(button_up_arrow, 10);
  35.  
  36. connect(button_1st, SIGNAL(clicked()),
  37. signalMapper_socket, SLOT (map()));
  38.  
  39. connect(button_2nd, SIGNAL(clicked(bool)),
  40. signalMapper_socket, SLOT (map()));
  41.  
  42. connect(button_3rd, SIGNAL(clicked()),
  43. signalMapper_socket, SLOT (map()));
  44.  
  45. connect(button_on, SIGNAL(clicked()),
  46. signalMapper_socket, SLOT (map()));
  47.  
  48. connect(button_off, SIGNAL(clicked()),
  49. signalMapper_socket, SLOT (map()));
  50.  
  51. connect(button_down_arrow, SIGNAL(clicked()),
  52. signalMapper_socket, SLOT (map()));
  53.  
  54. connect(button_up_arrow, SIGNAL(clicked()),
  55. signalMapper_socket, SLOT (map()));
  56.  
  57. connect(signalMapper_socket, SIGNAL(mapped(int)),
  58. socket_new, SLOT(sendRequest(int)));
  59. }
To copy to clipboard, switch view to plain text mode 

home_profile2.cpp
Qt Code:
  1. Home_Profile2::Home_Profile2(QWidget *parent) :
  2. QFrame(parent)
  3. {
  4. Socket *socket_new = new Socket(this);
  5.  
  6. QSignalMapper *signalMapper = new QSignalMapper(this);
  7. signalMapper->setMapping(button_out, 1);
  8. signalMapper->setMapping(button_maid, 2);
  9. signalMapper->setMapping(button_holiday, 3);
  10.  
  11. connect(button_out, SIGNAL(clicked()),
  12. signalMapper, SLOT (map()));
  13.  
  14. connect(button_maid, SIGNAL(clicked()),
  15. signalMapper, SLOT (map()));
  16.  
  17. connect(button_holiday, SIGNAL(clicked()),
  18. signalMapper, SLOT (map()));
  19.  
  20. connect(signalMapper, SIGNAL(mapped(int)),
  21. socket_new, SLOT(sendRequest(int)));
  22. }
To copy to clipboard, switch view to plain text mode 
socket.cpp
Qt Code:
  1. Socket::Socket(QObject * parent)
  2. : QTcpSocket(parent)
  3. {
  4. socket = new QTcpSocket(this);
  5. socket->connectToHost("10.10.1.110", 1222);
  6. connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(error()));
  7. }
  8.  
  9. void Socket::sendRequest(int id)
  10. {
  11. make_packet *make = new make_packet();
  12. uint8_t temp_var;
  13. uint8_t arr[LENGTH];
  14.  
  15. switch(id){
  16.  
  17. case 1:
  18. {
  19. temp_var = make->packet_formation(Home_Profile, Out_Action);
  20. break;
  21. }
  22. case 2:
  23. {
  24. temp_var = make->packet_formation(Home_Profile, Maid_Action);
  25. break;
  26. }
  27. case 3:
  28. {
  29. temp_var = make->packet_formation(Home_Profile, Holiday_Action);
  30. break;
  31. }
  32. case 4:
  33. {
  34. temp_var = make->packet_formation(Light_Id, SET_25_PERCENT);
  35. break;
  36. }
  37. case 5:
  38. {
  39. temp_var = make->packet_formation(Light_Id, SET_50_PERCENT);
  40. break;
  41. }
  42. case 6:
  43. {
  44. temp_var = make->packet_formation(Light_Id, SET_75_PERCENT);
  45. break;
  46. }
  47. case 7:
  48. {
  49. temp_var = make->packet_formation(Light_Id, ON);
  50. break;
  51. }
  52. case 8:
  53. {
  54. temp_var = make->packet_formation(Light_Id, OFF);
  55. break;
  56. }
  57. case 9:
  58. {
  59. temp_var = make->packet_formation(Light_Id, DECREMENT);
  60. break;
  61. }
  62. case 10:
  63. {
  64. temp_var = make->packet_formation(Light_Id, INCREMENT);
  65. break;
  66. }
  67. }
  68.  
  69. for(int i=0; i<temp_var; i++)
  70. {
  71. arr[i] = make->packet_frame[i];
  72. }
  73. QByteArray block;
  74. QDataStream out(&block, QIODevice::WriteOnly);
  75. out.setVersion(QDataStream::Qt_4_5);
  76. out << uint16_t(temp_var); // number of elements
  77. for (int i=0; i<temp_var; ++i)
  78. out << arr[i];
  79. socket->write(block.toHex());
  80.  
  81. }
To copy to clipboard, switch view to plain text mode 

Help me.