Что нового

[Сеть, интернет] Сервер и клиент по средством TCP соединения

Автор
S

Sergey2210

Осваивающий
Сообщения
263
Репутация
31
Я нашёл пример клиента который подклюсчается к ICQ и решил сделать видео поток между двумя клиентами,вообщем написал скрипт,при выключеном режиме скрипт создаёт картинку (например рабочего стола) открывает картинку,переводит в бинарный код и передаёт другому клиенту,а при статусе подключен скрипт выдаёт ошибку и выходит,что я не правильно сделал?

Код:
#include <GUIConstants.au3>
#include <ScreenCapture.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <ICQ.au3>

$User = @ScriptDir & "\User.ini"

 If Not FileExists($User) Then
    IniWrite($User,"socket","server","login.icq.com:5190")
    IniWrite($User,"socket","uin","")
    IniWrite($User,"socket","pass","")
    IniWrite($User,"socket","master","")
    IniWrite($User,"proxy","enable","0")
    IniWrite($User,"proxy","address","")
    IniWrite($User,"proxy","type","")
EndIf    

$server = IniRead ($User, "socket", "server", '')
$uin = IniRead ($User, "socket", "uin", '')
$pass = IniRead ($User, "socket", "pass", '')
$master = IniRead ($User, "socket", "master", '')

$Status = ICQConnect($server, $uin, $pass)

$GUI = GUICreate("", 605, 340, -1, -1, BitOR($WS_SYSMENU,$WS_BORDER), $WS_EX_TOOLWINDOW)
GUISetBkColor(0xFFFFFF)
GUICtrlCreateGroup("Команда:", 10, 5, 270, 50)
$Commands = GUICtrlCreateInput("", 20, 25, 250, 20)
$Pic = GUICtrlCreateIcon("",-1,13,287,16,16)
$online = GUICtrlCreateLabel("", 30, 288, 80, 20)
If $Status = 1 Then
GUICtrlSetImage($Pic,@ScriptDir & "\shellICQ.dll", 1)
GUICtrlSetData ($online," Подключен")
EndIf
If $Status = 0 Then
GUICtrlSetImage($Pic,@ScriptDir & "\shellICQ.dll", 2)
GUICtrlSetData ($online," Отключен")
EndIf
GUISetState()
AdlibRegister("_sendICQMSG",1000)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            ICQClose()
            Exit
    EndSwitch

$ICQ_msg = ICQReadMsg()
if $ICQ_msg<>0 Then
if $ICQ_msg[0] = $master Then
GUICtrlSetData ($Commands,$ICQ_msg[1], 1)
EndIf
EndIf
WEnd

Func _sendICQMSG()
_ScreenCapture_Capture(@ScriptDir & "\screen.bmp")
$Search = FileFindFirstFile(@ScriptDir & "\screen.bmp")
While 1
    $line = FileFindNextFile($Search)
    If @error Then ExitLoop
    $Text = FileRead($line)
WEnd
$Binary = StringToBinary($Text)
$ICQmessage = $Binary 
ICQSendMsg($master,$ICQmessage)
GUICtrlSetData ($Commands,$ICQmessage, 1); записываем в историю
GUICtrlSetState ($Commands, $GUI_FOCUS)
EndFunc
 
Верх