Коннект
Помогите плиз сделать скрипт состоящий из клиента и сервера. Клиент состоит из окна и 6 кнопок по нажатию кнопки в зависимости от нажатой серверу отправляется символ а тот в свою очередь запускает функцию в зависимости от символа. Пытался делать сам но не конектит, только на локалке а на другой комп не конектит. + Конектиться он долже по паролю.
|
Цитата:
|
Спасибо
|
Сделал так:
Сервер: Код:
#RequireAdmin Код:
;CLIENT! Start Me after starting the SERVER!!!!!!!!!!!!!!! |
насколько я понял можно просто в файл сервера воткнуть всё из файла клиента и наооборот, потом поменять имена переменных и порт, и получится двусторонняя связь.
Но вот такой вопросик как сделать чтобы клиент мог конектиться по паролю? Или хотябы скажите как сервер может отсоеденить клиента от себя? И ещё как сделать чтобы можно было с нескольких компов приконектиться к серверу одновреммено? |
Так и не получилось у меня создать двустороннюю связь, помогите пожалуйста...
|
что то подсказывает, что это autoit-у тяжело дастят....не думал попробовать сделать на файлах?
к примеру все обращение передовать через ини или базу какую нить... |
Цитата:
Код:
#include <GUIConstantsEx.au3> |
amel27, спасибо
|
Такая вот проблемка конектюсь к серверу, потом одновременно конектюсь с другого компа и у второго клиента с виду всё норм но на самом деле сервер его запросы не обрабатывает, а первый нормально работает. Дак вот такой вопросик: как сделать чтобы конектиться к серверу одновременно мог только один человек? И ещё как сервер может отсоеденить от себя клиент который уже приконектился?
|
И вот по ходу ещё вопросик возник:
Почему не передаются длинные значения? Например 40 слов разделённые "|". Каждое слово гдето из 8 символов. Это както можно поправить? |
Или хотябы скажите ктонибудь как передать одномерный массив?
|
Цитата:
это к той прожке, что инфо собирает с компа собираетесь прикрутить? если да - то гараздо проще на файлах. даже стоит попробовать sql, если не ошибаюсь в udf-ах по ней есть. |
Цитата:
Цитата:
По частям тоже не понятно, можно передавать номер части через |, но в это время серверу может передаться чёнить ещё, да и как сделать чтобы сервер ждал пока придёт определённая часть? |
с серваками хз ))))
а вот на файлах думаю легко можно сделать, sql еще не смотрел, но как минимум тот же txt легко покатит ) |
Цитата:
А как? |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
мысль пришла - сервер может сам отрубить свою очередь таким же образом,
предыдущий вариант с ограничителем: Код:
#include <GUIConstantsEx.au3> |
Скажите пожалуйста, а можно ли передавать файлы от клиента к серверу?
|
в справке TCPSend/TCPRecv сказано, что бинарные данные тоже поддерживаются - значит можно
... интересно, а чем простое копирование не устраивает? |
Т.е. нужно превратить файл в бинарные данные, а потом обратно? А можно поподробнее?
|
Сделал такой скриптик,
Клиент делает следующее: Код:
$statdata = FileOpen ("14.txt", 16 );открываем файл в бинарном режиме Код:
$BinStatdata=Binary ($HexStatdata);обратно переводим их шестнадцатиричного в бинарный |
Цитата:
Помогите пожалуйста, каким образом всётаки можно передать файл от клиента к серверу? |
Цитата:
сервер: Код:
Global $iSocket = 33890 Код:
Global $hSocket = -1 |
Спасибо огромное, буду разбираться.
|
Скажите ещё пожалуйста, возможно ли сделать так чтобы к одному скрипту могли приконнектиться неограниченное колличество человек? + должна быть двух сторонняя связь... Возможно это очень сложно, тогда хотябы подскажите как это работает, а я уже сам постараюсь собрать программку.
|
Додумался сам, вот что получилось:
Сервер: Код:
#include <GUIConstantsEx.au3> Код:
#include <GUIConstantsEx.au3> Первая: Код:
Func SocketToIP($SHOCKET) Код:
Func SOCKET2IP($SHOCKET) И ещё всётаки как сделать двухстороннюю связь не открывая второго порта? Это вне моего понимания, приведу пример: сервер голосового чата Ventrilo установлен на компьютере IP адрес которого виден из вне, а клиент коннектится к серверу с компьютера IP адрес которого виден только из локальной сети, дак каким же образом они обмениваются данными если сервер физически не сможет приконнектиться к клиенту т.к. его IP адрес не виден из вне? примерно тоже самое хочется сделать на Autoit. Заранее спасибо! |
Я сделал сам двух стороннюю связь с неограниченным колличеством клиентов.
Но так и не понял как же всётаки работают все сервера игр, icq, и т.п. ? В моём примере оба компьютера должны видеть IP адреса друг друга, если этого не происходит, то связь обрывается, т.к. двухсторонняя связь будет физически невозможна. И ещё вопросик такой, функции которые я приводил в пример не работают, почемуто. Ответьте ктонибудь пожалуйста, а то сам с собой разговариваю... ) Клиент: Код:
#include <GUIConstantsEx.au3> Код:
#include <GUIConstantsEx.au3> |
Цитата:
|
Такой вопрос. Запускаю и клиент и сервер на одном компьютере, все работает ок.
Запускаю сервер на своем компьютере а клиент на другом. Клиент на другом компьютере моментально пишет что время ожидания ответа от сервера истекло, сервер же спустя секунд 10-20 отображает сообщение о том что "Связь с новым ID потеряна!". Чем вызваны эти симптомы? Вопрос отпал, достаточно быстро сделал клиент серверную часть работающую как чат. |
Вложений: 2
Прочитав немного эту ветку, решил попробовать написать свой чат клиент-сервер. Написал на основе примеров из справки. Сервер один и с него нельзя ни чего писать. Клиентов много (т.е. max 100).
|
Есть вопросик как реализовать простенький "СНИФЕР" IP И порт известны требуется получать данные как от клиента так и от сервера отправка только на сервер.
|
Время: 21:15. |
Время: 21:15.
© OSzone.net 2001-