>You must have two sessions of course. You haven't posted code so Idon't know, it's not clear from your explanation.
>> but the program stops during handshake. >Then you are simply not correctly passing data across the three connections that your application has open. Sample source code (without errors etc) ... previous code same as direct tcp example ... set_nonblock(listensock); //method for set nonblocking forwardsock = accept(listensock, (struct sockaddr *)&sin, &sinlen); shost = inet_ntoa(sin.sin_addr); sport = ntohs(sin.sin_port); con->channel = libssh2_channel_direct_tcpip_ex(con->session, remote_desthost,remote_destport, shost, sport); libssh2_session_set_blocking(con->session, 0); struct conn c1;//own structure for connect c1.hostname = "127.0.0.1"; c1.username = "root"; c1.password = "password"; c1.port = 2222; struct conn *st1 = &c1; init_sock(st1); init_session(st1); int x = libssh2_session_handshake(st1->session, st1->socket); printf("handshake %i\n", x);
_______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel