Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
3 / 3 / 0
Регистрация: 16.01.2012
Сообщений: 105

Общение клиента и сервера через Интернет

19.08.2012, 01:48. Показов 3583. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Я тут хочу написать не большой клиент типо garena тока не для игр а для чатов и форумов внутри.. Ну бла бла бла.... В общем не знаю как реализовать общение клиента и сервера.... я вобще в этом плане не бум бум... в плане сокетов и TCP написании кода.. Темболие что бы многопользовательски всё сделать через инэт... =(

В общем подкиньте плиз исходник самый что не наесть простой на WinForm где клиент при нажатии на Buton1 будет отпровлять серверу сообщение "IP_Click_Button1" ну или "click1" и в клиент производил проверку полученого -> if ( mes_client == "click1" ) { Client.lable1.text = "Нажата кнопка 1"; }
При нажатии на Buton2 будет отпровлять серверу сообщение "IP_Click_Button2" ну или "click2" и в клиент производил проверку полученого -> if ( mes_client == "click2" ) { Client.lable2.text = "Нажата кнопка 2"; }
Ну в общем какойнить такой примитивный вариант что бы примитивным кодом можно было производить примитивные действия типо -

Авторизация на клиенте -
Вводим $user и $pass и тыкаем кнопку
код примерно
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  conn_clietn = true;
  client_otpravit.Type = "auth";
  client_otpravit.auth_login($user);
  client_otpravit.auth_pass($pass);
  if ( client_otvet.auth == "login = ok")
{
MessageBox.Show("Всё ок, ты вошёл");
Form2 f2 = new Form2();
f2.Show = true;
This.Visible = false;
} else {
MessageBox.Show("Неудача бро =)");
}
 
SERVER примерно так тоже
if ( server_prinal.if == "auth") { //Бла бла бла оТКРЫВАЮ фаил с записями или к бд подключаюсь
string auth = server_prinal.auth+" = "+server_prinal.pass;
if ( file_auth == auth ) { server_otpravit.auth == "login = ok"; } else { server_otpravit.auth == "login = Error"} }
Ну как то так... Что бы было примитивно ато разбираться оч долго буду если в обще разберусь. А уж вот эти вот действия я и сам напишу... Главный вопрос - как отправить client_otpravit.auth_login($user);
client_otpravit.auth_pass($pass); и как принять и как обратно отправить if ( file_auth == auth ) { server_otpravit.auth == "login = ok"; } else { server_otpravit.auth == "login = Error"} } и принять.... и всё через инэт и не для одного клиента а что бы куча клиентов могло подключатся и обрабатыватся сразу...

Кто поможет плюсик дам да и на форуме друзья плюсиков подкинут... а кто поможет и разобратся тому ещё и лицухи ключ от Microsoft Visual Studia 2010 profi подкину...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.08.2012, 01:48
Ответы с готовыми решениями:

Синхронная "общение" сервера и клиента
Привет, All! Есть такая задача: С клиентской стороны грузится файл и парситься на стороне сервере после аплоада. По ходу процесса...

Поиск сервера со стороны клиента через интернет
Возник вопрос как клиенту найти сервер? просто по Ip я так понял не катит, если сервер будет запущен например не с выделенным Ip, а где то...

Общение голосом через интернет
Люди, кто знает через какую программку можно общаться по инету как по телефону пишите сюда, поделитесь!!!

8
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
19.08.2012, 02:06
я на форуме манагеров темку открыл, как стать президентом. если что толкового насоветуют, найде тебе кого-нибудь, кто чат тебе обеспечит (за пару плюсиков, конечно)
0
3 / 3 / 0
Регистрация: 16.01.2012
Сообщений: 105
19.08.2012, 07:31  [ТС]
1. Я тебе и сам напишу как стать президентом и что для этого нужно, если у ты не изучал обществознание или основы законодательства =)))
2. Мне чат не нужен... Я сам реализую то что мне нужно... Суда я пришёл с вопросом об общении клиента и сервера.... Как можно отправлять определённые сообщения от туда и туда для if проверок...
0
 Аватар для bumbaram
47 / 47 / 9
Регистрация: 13.02.2012
Сообщений: 176
19.08.2012, 10:55
SkoT, сначала тебе нужно определиться какого рода клиент/серверное взаимодействие тебе нужно. Socket это конечно круто, но думаю маловероятно, что это эффективные трудозатраты. Представь что там тебе придется самому реализовать сериализацию, для передаваемых объектов, поддерживать сессию на сервере и еще кучу всего. Не говоря уже о многопоточности, если ты расчитываешь на большое количество клиентов.
Так что я тебе рекомендую смотреть в сторону WCF. Там все что я написал из каробки, и простенький сервер с парой методов делать мин 5. + он может хоститься в IIS что бонус, если ты собираешься тащить все в веб.
0
3 / 3 / 0
Регистрация: 16.01.2012
Сообщений: 105
19.08.2012, 20:20  [ТС]
Можно и на WCF но! По теме не кто не чё не дал =( Знаете... Болталогию может каждый разводить а вот помоч не все =(
0
 Аватар для xnimor
72 / 72 / 6
Регистрация: 16.06.2012
Сообщений: 220
19.08.2012, 20:40
ай.... Гуглить, гуглить!! =)
1) Что тебе необходимо?
Если чат между двумя ПК (ну или больше), то (надоело одинаковое писать всем, поэтому ТЫРК СЮДА http://xnim.ru/blog.php?q=19)
Если нужно делать так - есть сайт (к примеру) тыры-пыр.ru и с ним "общаться" нужно, то общение происходит через GET и POST запросы.

Добавлено через 4 минуты
2) GET и POST запросы.
GET запросы - на пальцах - сайт, что я тебе написал имеет GET запрос. Он выражается так - после пути ставится ?, а затем передаваемые параметры через &.
к примеру - тыры-пыры.ru/index.php?параметр1=9&параметр2=строка - ответом будет страница HTML (обычно) может быть и просто строка... (да вообще, что угодно может быть ответом)
POST запрос - тоже самое, что GET, только без вопроса. Данные "запихиваются" в "структуру" и отправляются по адресу (тыры-пыры.ru/index.php)

Добавлено через 3 минуты
3) как делать с GET -
Пример отправки и чтение ответа -
C#
1
2
3
4
5
6
string RequestStr = string.Format("http://тыры-пыры.ru/index.php?параметр1=9&параметр2=строка");
            WebRequest GetReq = WebRequest.Create(RequestStr);
            var GetResp = GetReq.GetResponse();
            Stream GetStream = GetResp.GetResponseStream();
            StreamReader GetReader = new StreamReader(GetStream);
            return GetReader.ReadToEnd();
0
3 / 3 / 0
Регистрация: 16.01.2012
Сообщений: 105
19.08.2012, 21:03  [ТС]
xnimor, Всёбы не чего но реч шла о клиенте и сервере.... =(

Добавлено через 1 минуту
написаных на C# где клиент обратабывает всё, проверяет, работает с базой.... А клиент получает ответ в виде 1 или 0
1 - да
0 - нет
и mess сообщений
0
 Аватар для xnimor
72 / 72 / 6
Регистрация: 16.06.2012
Сообщений: 220
19.08.2012, 21:06
эммм... я и писал о клиенте и сервере... =D
И что говорю - ЧТО представляет собой сервер.
Если сервер все же машина, с доменным именем - то работать через Post запросы (или GET) На сервере стоит php-скрипт (можно и на C#), который при получении данных обрабатывает их и выдает ответ... ответ принимается сразу же (пример приема ответа я написал)
0
 Аватар для Yukikaze
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
20.08.2012, 01:16
Объясните по человечески, а то все экстрасенсы в отпуск уехали, на лето.
У вас выделенный или WEB сервер?
Если выделенный тут все просто, создаете обыкновенный сервер по типу
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Socket server = new Socket();
 
void main()
{
   server.Bind(IPAddress.Any);
   server.Listen(1000);
   while(true)
   {
       Socket client = server.Accept();
       new Thread(AcceptClient).Start(client);
   }
}
 
void AcceptClient(object o)
{
   Socket client = (Socket)o;
   byte[] buffer = new byte[] buffer();
   int received;
   while( (received = client.Receive(buffer)) > 0 )
   {
       //работаем с полученными данными
   }
   client.Close()
   client.Dispose()
}
Выше описан псевдокод очень приближенный к настоящему.

если же у вас веб-сервер то тут нужно делать на WCF
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.08.2012, 01:16
Помогаю со студенческими работами здесь

Общение двух программ через интернет (Skype, ICQ)
Вот каким образом или какие есть варианты передачи инфы через инет, всего-лишь два слово, числа ... пример: 321, 3124, 1241... ...

Обновление базы от сервера на локальный компьютер через клиента
во общем такая проблемка настигла. Объясняю: есть сервер на котором находится база данных программа-клиент, установлена на...

Запуск программы с сервера, а не с машины клиента, через браузер
Суть такова: Есть программа, написана на Team Developer 6.1. Нужно что бы программа запускалась с сервера в браузере, то есть не была...

Соединение через сокет и синхронность работы клиента и сервера
Доброго времени суток! Попытаюсь изложить свою проблему вкратце: Необходимо реализовать одновременный клик левой кнопкой мыши на 2-ух...

Подключение тонкого клиента через интернет
Добрый день. Есть 1c 8.3 + MSSQL в локальной сети, шлюз в интернет, белый IP. Нужно дать возможность подключаться 2-3 людям к базе. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru