Здравствуйте! Написал небольшой сокет-сервер залил его на хостинг ,hostfood если это имеет значение, запускаю через браузер, вот так домен.su/sock.php Пробывал разные ip дать сокету, если вписываю айпи самого сервера на котором сокет пишет так: Warning: socket_bind() [function.socket-bind]: unable to bind address [48]: Address already in use in /../../sock.php on line 11 Если задаю какой нибудь другой адрес то пишет так: Warning: socket_bind() [function.socket-bind]: unable to bind address [49]: Can't assign requested address in /../../sock.php on line 11 Подскажите как решить эту проблему. Все ли я правильно делаю. Код сокета вот: Code: <?php $address = "ip"; $port = port; $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if( !$socket ) exit( socket_strerror( socket_last_error() ) ); else echo 'Socket_created!'."\r\n"; if( !socket_bind($socket, $address, $port) ) exit( socket_strerror( socket_last_error() ) ); else echo 'Socket_binded!'."\r\n"; if( !socket_listen($socket, 10) ) exit( socket_strerror( socket_last_error() ) ); else echo 'Socket_listen!'."\r\n"; $connect = socket_accept($socket); $result = socket_read($connect,1024); echo 'Common data: '.$result."\r\n"; socket_write($connect,'You sending me: '.$result."\r\n"); socket_shutdown($connect); socket_close($socket); ?>
Address already in use - занята указанная комбинация iport. Can't assign requested address - вешать сокет на произвольный адрес не выйдет. И в чем вопрос то? Нужна информация, хотя бы на какой порт сокет биндим
А как узнать на какой порт и айпи биндить сокет? Сам сокет на хостинге сейчас лежит, я так понимаю, что надо ip хостинга вписывать в сокет, а как порт узнать какой? так вот если я ip хостинга прописываю в сокете то вылазит ошибка Address already in use. или это с портом ошибка связана...короче не пойму, объясните пожалуйста...
Какой порт нужен, такой и писать, я же не знаю, какое взаимодействие предполагается с этим кодом. Просто некоторые порты уже заняты, а если вписать какой-нибудь порт в диапазоне от 10000 до 65535, то скорее всего он окажется не занят.
Бинди на адрес 0.0.0.0 и не парься, решай проблему с портом. Еще не факт, что хостинг пропустит входящие соединения на левые порты, а не левые уже заняты, как правило