Пример #1
0
void send_msg_reload_config(char * ip, int port)
{
	char ach[256] = "<head>00024</head><msg>reload_config</msg>";
	
	int smssock=0;
	int ret=0;
	if ( (ret=sock_connect(port, inet_addr(ip), &smssock)) <= 0 )
	{		
		printf("connect to server failed, error\n");
		return;
	}
	
	if ( write2socket(&smssock, ach, strlen(ach)) == 0 )
	{
		printf("write to server failed, error\n");
		shutdown(smssock, SHUT_WR);
		close(smssock);
		return;
	}
	
	//如果服务器不给答复,就会阻塞在下面的read函数上
	if ( sock_ready_read(smssock, 5000) )	//wait 5 seconds
	{
		memset(ach,0,sizeof(ach));
		ret = read(smssock,&ach[0],sizeof(ach));
		printf("cmd reload config done\n\n");
	}
	
	shutdown(smssock, SHUT_WR);
	close(smssock);
	smssock = 0;
	return ;
}
Пример #2
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    m_socket = new QTcpSocket(this);
    QObject::connect(m_socket, SIGNAL(stateChanged(QAbstractSocket::SocketState)), this,
                     SLOT(stateChanged(QAbstractSocket::SocketState)));
    QObject::connect(m_socket, SIGNAL(readyRead()), this, SLOT(sock_ready_read()));
    QObject::connect(m_socket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(sock_error(QAbstractSocket::SocketError)));


    QObject::connect(ui->m_btnConnect, SIGNAL(clicked()), this, SLOT(sock_disconnect_connect()));
    QObject::connect(ui->m_btnSend, SIGNAL(clicked()), this, SLOT(sock_send()));

}