ahjkcfout7
Знающий
- Сообщения
- 26
- Репутация
- 6
Добрый день. Столкнулся с такой проблемой, как передача данных по сети в одном соединении. Этот вариант работает отлично. Вот первый скрипт
И аналогичный второй
Суть вопроса состоит в том, чтобы не создавалось огромное количество соеденений, а происходило все в одном (клиент подключается к серверу, а сервер отвечает клиенту в этом же соединении). Я искал справку, форум, пробывал не закрывать сокеты, и не помогло
Код:
TCPStartup()
$iListenSocket = TCPListen("127.0.0.1", 1025)
$iSocket=TCPConnect("127.0.0.2", 1025)
TCPSend($iSocket, StringToBinary("Hello",4))
Sleep(50)
TCPCloseSocket($iSocket)
OnAutoItExitRegister("_exit")
while true
$iSocket_reciever = TCPAccept($iListenSocket)
If $iSocket_reciever <> -1 Then
While True
$sData = TCPRecv($iSocket_reciever, 2048, 1)
If @error Then ExitLoop
$sData = BinaryToString($sData, 4)
if $sData="Hello" Then
ConsoleWrite($sData&@CR)
$iSocket=TCPConnect("127.0.0.2", 1025)
TCPSend($iSocket, StringToBinary("Hello",4))
Sleep(50)
TCPCloseSocket($iSocket)
exitloop
endif
WEnd
EndIf
wend
Func _exit()
TCPShutdown()
EndFunc ;==>_exit
И аналогичный второй
Код:
TCPStartup()
$iListenSocket = TCPListen("127.0.0.2", 1025)
$iSocket=TCPConnect("127.0.0.1", 1025)
TCPSend($iSocket, StringToBinary("Hello",4))
Sleep(50)
TCPCloseSocket($iSocket)
OnAutoItExitRegister("_exit")
while true
$iSocket_reciever = TCPAccept($iListenSocket)
If $iSocket_reciever <> -1 Then
While True
$sData = TCPRecv($iSocket_reciever, 2048, 1)
If @error Then ExitLoop
$sData = BinaryToString($sData, 4)
if $sData="Hello" Then
ConsoleWrite($sData&@CR)
$iSocket=TCPConnect("127.0.0.1", 1025)
TCPSend($iSocket, StringToBinary("Hello",4))
Sleep(50)
TCPCloseSocket($iSocket)
exitloop
endif
WEnd
EndIf
wend
Func _exit()
TCPShutdown()
EndFunc ;==>_exit
Суть вопроса состоит в том, чтобы не создавалось огромное количество соеденений, а происходило все в одном (клиент подключается к серверу, а сервер отвечает клиенту в этом же соединении). Я искал справку, форум, пробывал не закрывать сокеты, и не помогло