Что нового

Помогите с системой клиент-сервер.

s0me0ne

Новичок
Сообщения
19
Репутация
2
собственно скрипт

его задача передавать и обрабатывать пакеты по системе клиент-сервер.
клиентов должно быть больше одного
сервер должен обрабатывать запрос клиента и отвечать ему

Код:
Func _get_data($rsock)
   $recv = UDPRecv($rsock,1024)
        If $recv <> "" Then
            Return($recv)
        EndIf
EndFunc


Func _server_proceed_data($data)
   $data_array = StringSplit($data,"[]")
   
   $comp_name = $data_array[1]
   
   $req = $data_array[2]
   
   $logindata = $data_array[3]
   
   $req_data = $data_array[4]
   
   MsgBox(0,"Debug","data processing!")
   Switch $req
	  Case "checkpwd"
		 If _check_pwd($logindata) = 1 Then
			Return($compname & "[]" & )
		 Else
		 
		 EndIf
   
   EndSwitch
   
   
EndFunc


Func _check_pwd($logindata)
   $login_data_array = StringSplit($logindata,";")
   $usrlogin = $login_data_array[1]
   $usrpwd = $login_data_array[2]
   
   Local $file = FileOpen($users & $usrlogin & ".txt", 0)
   
   If $file = -1 Then Return(0)
	  
   If $usrpwd = FileReadLine($file,1) Then 
	  Return(1)
   Else
	  Return(0)
   EndIf
   
EndFunc


Func _client_proceed_data($data,$command)
   
EndFunc


Func _connect()

    UDPStartup()

    $rsock = UDPBind(@IpAddress1,$port)
    If @error <> 0 Then 
	   MsgBox(0,"",@error)
	   Return("error")
    Else
	   MsgBox(0,"Debug","Connected!")
	   Return($rsock)
    EndIf
EndFunc


Func _login()
   Global $username = InputBox("TestIT","Please enter your username.")
   Global $password = InputBox("TestIT","Please enter your password.")
   ;Return(True)
EndFunc


Func _SendMsg($txtMsg)
        $ssock = UDPOpen($Broadcast,$port)
        If @error = 0 Then
            UDPSend($ssock,$txtMsg)
        EndIf
        UDPCloseSocket($ssock)
EndFunc


Func _Print($txtMsg)
    _GUICtrlEdit_AppendText($hEdit,@CRLF&$txtMsg)
EndFunc


Func OnAutoItExit()
    UDPShutdown()
EndFunc
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,483
Re: Помогите кое-что дапильником допилить.

Во-первых,
Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"Помогите кое-что дапильником допилить." - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Администратор.










А во-вторых, почему в «Общение»?
 
Автор
S

s0me0ne

Новичок
Сообщения
19
Репутация
2
В общение потому, что не там кнопку нажал(да это тупо...)
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
почитай http://autoit-script.ru/index.php/topic,11436.0.html
 
Верх