DmitriyShh2
Новичок
- Сообщения
- 7
- Репутация
- 0
Здравствуйте. имеется два кода: слушающий и отправляющий. Слушающий по неизвестным причинам не создается (ошибка указывает на то, что ip не существует). работаю на ноутбуке и пк, которые подключены через один wi-fi. может кто-нибудь помочь? (кстати, сокет на 127.0.0.1 у меня создается)
Отправляющий:
Слушающий:
Отправляющий:
Код:
TCPStartup();Инициировать использование службы TCP
$IP = '127.0.0.1';Указываем адрес к которому будем подключаться (Указываю внешний адрес)
$port = 400;Указываем порт к которому будем подключаться
$socket = TCPConnect($IP, $port);Указыываем ОС создать сокет, подключенный к указанному адресу
$dannie = InputBox('','','');Окно, которое принимает данные для отправки.
$rez = TCPSend($socket, $dannie);Отправляем данные на сервер
If @error <> 0 Then msgbox(0, "Ошибка", "Не удалось отправить данные на сервер")
TCPCloseSocket($socket);Закрываем сокет
TCPShutdown();Завершить использование службы TCP
Слушающий:
Код:
TCPStartup();Инициировать использование службы TCP
$IP = @IPAddress1;Указываем адрес который будем прослушивать;
$port = 400;Указываем порт который будем прослушивать
While 1
$socket = TCPListen($IP, $port, 1);Создаем слушающий сокет, по указанному адресу
If @error Then ExitLoop;Если не удалось создать сокет, то выйти
$Connect = -1
Do
$Connect = TCPAccept($socket);Указыываем ОС создать сокет если появилось входящее подключение в прослушиваемом сокете
Until $Connect <> -1;Если клиент подключился, то выйти из цикла, если ошибка или никто не подключился, то продолжить цикл
While 1
$dannie = TCPRecv($Connect, 2048);Получаем максимум 2048 символов от клиента
If @error Then ExitLoop;Если не удалось получить символы, то выйти из цикла
If $dannie <> "" Then;Если данные получены, то...
MsgBox(0,'Get',$dannie)
ExitLoop
EndIf
Sleep(30)
WEnd
TCPCloseSocket($socket);Закрываем сокет
WEnd
TCPShutdown();Завершить использование службы TCP