Сервер-клиент
| |
ххХищныЙхх | Дата: Суббота, 20.08.2011, 02:25 | Сообщение # 1 |
ламер
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 0
Статус: Offline
| Я уже спрашивал как создавать сервераи клиенты теперь прошу помощи конкретно в коде
Сервер Code Graphics 600,400,0,2
svrGame=CreateTCPServer(8080)
If svrGame<>0 Then Print "Сервер запущен удачно." Else Print "Ошибка создания сервера." End End If
While Not KeyHit(1)
strStream=AcceptTCPStream(svrGame)
If strStream Then
ReadLine(strStream) ReadLine$(strStream) ;If s$<>0 Then
;Print "aaa" ;EndIf
Delay 2000
Else Print "///" Delay 1000 End If
Wend
И клиент
Code Graphics 600,400,0,2
strmGame=OpenTCPStream("192.168.1.101",8080)
lo$=Input(" log") pa$=Input(" pas") WriteLine (strmGame,lo$) WriteLine (strmGame,pa$)
Задумка чтобы в клиете после вводы логина и пароля он отправлял данные на сервер. Но на сервер приходит пустая строка и сервер начинает лагать. Помогите плиз
|
|
| |
MishanayCool | Дата: Суббота, 20.08.2011, 09:58 | Сообщение # 2 |
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
| Так попробуй: Создание сервера: Code svrGame=CreateTCPServer(8080)
If svrGame<>0 Then Print "Сервер запущен удачно." Else Print "Ошибка создания сервера." End End If
While Not KeyHit(1) strStream=AcceptTCPStream(svrGame) If strStream Then Cls Text 10,10,"Login: "+ReadString$(strStream) Text 10,20,"Password: "+ReadString$(strStream) Text 10,30,"Данные от клиента успешно приняты" Flip Delay 20 WaitKey() End Else Cls Text 10,10,"Данных от клиента нет..." Flip Delay 20 End If Wend
End
Создание клиента: Code strmGame=OpenTCPStream("192.168.1.101",8080)
If strmGame<>0 Then Print "Клиент соеденился с сервером." Else Print "Сервер не отвечает." WaitKey End End If
; отправим сообщение серверу login$=Input(" login: ") password$=Input(" password: ")
WriteString strmGame,login$ WriteString strmGame,password$ End
Если и это не пойдёт значит ты скорей всего ошибся IP адресом сервера. У меня код работает.
MiniDemo3D - Blitz3D
Сообщение отредактировал MishanayCool - Суббота, 20.08.2011, 10:03 |
|
| |
ххХищныЙхх | Дата: Воскресенье, 21.08.2011, 00:19 | Сообщение # 3 |
ламер
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 0
Статус: Offline
| Вот ещё проблема я сделал чтоб после отправки на сервер логина и пароля он искал его в "базе" и отправлял клиенту правильный ли пароль Code Graphics 600,400,0,2
svrGame=CreateTCPServer(8080)
If svrGame<>0 Then Print "Сервер запущен удачно" Else Print "Ошибка создания сервера" End End If
While Not KeyHit(1) strStream=AcceptTCPStream(svrGame) If strStream Then Cls login$=ReadString$(strStream) password$=ReadString$(strStream)
Text 10,30,"Данные от клиента успешно приняты" Flip
If login$<>0 And password$<>0 Then
test$=ReadFile("logins\2222.txt")
If test$=password$ Then WriteLine strStream,"login: true" Else WriteLine strStream,"login: false" EndIf
Print test Print password$
EndIf
WaitKey() Delay 20
;End Else Cls Text 10,10,"Данных от клиента нет..." Flip Delay 20 End If Wend
End
Но в ответ всегда приходит что пароль не правильный. В файле 2222.txt написано 1111 но пишет что пароль не подходит и на сервере пишет что пароль должен быть 11991208
Code Graphics 600,400,0,2
strmGame=OpenTCPStream("192.168.1.101",8080)
If strmGame<>0 Then Print "Êëèåíò ñîåäåíèëñÿ ñ ñåðâåðîì." Else Print "Ñåðâåð íå îòâå÷àåò." WaitKey End End If
; îòïðàâèì ñîîáùåíèå ñåðâåðó login$=Input(" login: ") password$=Input(" password: ")
WriteString strmGame,login$ WriteString strmGame,password$
Repeat log1$=ReadLine$( strmGame )
Until log1$<>0
If log1$="login: true" Then Print log1$
Print "Правильный пароль!" WaitKey() Else Print log1$
Print "Не правильный пароль" WaitKey() EndIf
End
И если ввести такой пароль то напишет что он должен быть 11991112 Логин использую 2222 пароль 1111
Сообщение отредактировал ххХищныЙхх - Воскресенье, 21.08.2011, 01:27 |
|
| |
MishanayCool | Дата: Среда, 31.08.2011, 18:35 | Сообщение # 4 |
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
| Я с сетевым кодом не очень лажу, но даже навскидку окинув глазом твой вариант. Без обид, но что не строчка, то полный бред. Особенно вот эта часть кода: Code test$=ReadFile("logins\2222.txt")
If test$=password$ Then WriteLine strStream,"login: true" Else WriteLine strStream,"login: false" EndIf Будь внимательней!!!
Ну да ладно, это не так важно. Долго ковырялся и не жалею, стал чётко понимать принцип сетевых обменов.
для проверки кода логин-12345 пароль-67890 Вот мой вариант:
Сервер Code svrGame=CreateTCPServer(8080)
If svrGame<>0 Then Text 10,10,"Сервер запущен удачно." Else Text 10,10,"Ошибка создания сервера." End End If
While Not KeyHit(1)
;Ждём сообщения от клиента strStream=AcceptTCPStream(svrGame) If strStream Then ;Дождались, теперь читаем их Login$=ReadLine$(strStream) Password$=ReadLine$(strStream) Text 10,30,"Login: "+Login$ Text 10,40,"Password: "+Password$ Text 10,50,"Данные от клиента успешно приняты"
;Проверяем полученные данные от клиента и отсылаем ему ответ. If Login$="12345" And Password$="67890" Then WriteLine strStream,"Пароль верный" Else WriteLine strStream,"Ошибка пароля" EndIf Flip Delay 20 WaitKey() End
Else Text 10,20,"Данных от клиента нет..." Flip Delay 20 End If Wend
End
Клиент Code strmGame=OpenTCPStream("192.168.1.102",8080)
If strmGame<>0 Then Print "Клиент соеденился с сервером." Else Print "Сервер не отвечает." WaitKey End End If
; отправим сообщение серверу login$=Input(" login: ") password$=Input(" password: ")
WriteLine strmGame,login$ WriteLine strmGame,password$ Print "Сообщение отправлено."
;Принимаем сообщение с сервера Print ReadLine$( strmGame )
WaitKey() End
MiniDemo3D - Blitz3D
Сообщение отредактировал MishanayCool - Четверг, 01.09.2011, 09:16 |
|
| |
|