{
net_hook_t* server_hook;
GString* buffer;
- server_hook = jabber_server_hook_new (hook, server);
- hook->peer = server_hook->conn;
- g_message ("Trying to connect to server %s.", server);
- gnet_conn_connect (hook->peer);
+ g_message ("Received new stream.");
+ if (hook->peer == NULL)
+ {
+ server_hook = jabber_server_hook_new (hook, server);
+ hook->peer = server_hook->conn;
+ g_message ("Trying to connect to server %s.", server);
+ gnet_conn_connect (hook->peer);
+ gnet_conn_read (hook->peer);
+ }
buffer = jabber_new_start (node);
gnet_conn_write (hook->peer, buffer->str, buffer->len);
g_string_free (buffer, TRUE);
- gnet_conn_read (hook->peer);
}
void jabber_send (net_hook_t* hook, iks* node)