Я использую виртуальный хостинг. Если я хочу установить сокет-соединение с другим сервером, как я могу указать, какой порт с моей машины использовать? не могу указать мой порт.
В документации сказано, что вы можете установить порт источника (и IP-адрес привязки источника), используя контекст потока. См. Параметры контекста сокета .
Если вы не можете указать другой порт с помощью fsockopen, то ваш провайдер общего хостинга не поддерживает его из соображений безопасности.
fsockopen