но данные в сокет не выдаются
что значит не выдаются? сервер не получает? может быть проблема в маршрутизации?
Если делать bind() после connectToHost, возвращает false и выдача выполняется не через тот IP, что был задан в bind().
помоему после установки соединения нельзя поменять ни адрес, ни порт...
опишите детальнее - список интерфейсов, адреса и маски на них, таблицу маршрутизации, адрес сервера к которому подключаетесь.