Сокет - пара адрес:порт. При создании сокета на заданом IP (это должен быть IP машины, на котороый выполнется программа) создается порт с заданым номером и привязывается к конкретному IP-адресу. По скольку сокет - это IP + номер порта, сокеты находятся на сетевом уровне (IP). С помощью сокета можно установить соединение с другим сокетом по протоколу TCP или UDP. Это поротоколы на транспортном уровне, пользователь сокетов не заботится о передачи данных для установления соединения. Следует понимать, что все передаваемые данные - это биты. ACSII-символ - это тоже байты (2 байта - символ). Поэтому некоторые протоколы (например HTTP) выглядят человекопонятно. Расмотрим работу с скетами на примере протокола HTTP и функции fsockopen. PHP: <?php // Подключаемся к сокету // Если не указано иначе, подключение осуществляется по протоколу TCP - то, что нам нужно. $fp = fsockopen('77.234.201.222', 80); // Составляем запрос $query = "GET / HTTP/1.0\r\nHost: [url=http://www.php.ru]www.php.ru[/url]\r\n\r\n"; // Пишем в сокет fwrite($fp, $query); // Читаем ответ while (!feof($fp)) { echo fgets($fp, 128); } ?> Функция fsockopen коннектится к открытому сокету в сети. При этом выбор порта (и создание сокета), через котрый осуществляется прием/передача данных открывается системой автоматически. С помощью других функций можно открыть сокет на заданом порту и работать через него.