Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > .NET
Перезагрузить страницу Создание чата с чего начать
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
RAIS RAIS вне форума
Новичок
 
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.10.2008
По умолчанию Создание чата с чего начать - 24.11.2008, 11:36

Самая распространенная статья в интернете по пошаговому созданию чата на ASP.NET,от простого к сложному, содержит такие строки:

Итак, создаем файл global.asa (если он еще не создан) и в Application_OnStart добавляем следующий код:
dim MyMessArray()
Redim MyMessArray(20)
Application("MessageArray")=MyMessArray

Кто может подсказать как именно вводить эти строки,при простом добавлении в Application_Start выскакивает куча ошибок.
Может кавычки какие нужны?
Ответить с цитированием
  (#2 (permalink)) Старый
Jonano Jonano вне форума
Специалист
 
Аватар для Jonano
 
Сообщений: 3,541
Сказал(а) спасибо: 2
Поблагодарили 14 раз(а) в 14 сообщениях
Регистрация: 19.04.2005
По умолчанию 24.11.2008, 11:52

Какие именно ошибки? Мои телепатические способности не позволяют мне определить, что же у тебя там за куча ошибок.
Ответить с цитированием
  (#3 (permalink)) Старый
RAIS RAIS вне форума
Новичок
 
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.10.2008
Angry 24.11.2008, 22:39

Цитата:
Какие именно ошибки? Мои телепатические способности не позволяют мне определить, что же у тебя там за куча ошибок.
Expected ; or=(cannot specify constructor arguments in declaration)
; expected
Теперь понятно?
Ответить с цитированием
  (#4 (permalink)) Старый
RAIS RAIS вне форума
Новичок
 
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.10.2008
По умолчанию 24.11.2008, 22:42

Кстати отвечаю сразу на следующий вопрос точка с запятой в конце каждой строки не помогают)))а то вдруг спросишь...
Ответить с цитированием
  (#5 (permalink)) Старый
Sfate Sfate вне форума
Новичок
 
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.10.2008
По умолчанию 25.11.2008, 01:15

RAIS, приведи код, а то так тебе никто не поможет...
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Наташа85 Наташа85 вне форума
Member
 
Сообщений: 30
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.10.2008
По умолчанию 25.11.2008, 02:51

Цитата:
RAIS, приведи код, а то так тебе никто не поможет...
Код:
<%@ Application Language="C#" %>

<script runat="server">

    void Application_Start(object sender, EventArgs e) 
    {
        // Code that runs on application startup
dim MyMessArray()
Redim MyMessArray(20)
Application("MessageArray")=MyMessArray
    }
    
    void Application_End(object sender, EventArgs e) 
    {
        //  Code that runs on application shutdown

    }
        
    void Application_Error(object sender, EventArgs e) 
    { 
        // Code that runs when an unhandled error occurs

    }

    void Session_Start(object sender, EventArgs e) 
    {
        // Code that runs when a new session is started

    }

    void Session_End(object sender, EventArgs e) 
    {
        // Code that runs when a session ends. 
        // Note: The Session_End event is raised only when the sessionstate mode
        // is set to InProc in the Web.config file. If session mode is set to StateServer 
        // or SQLServer, the event is not raised.

    }
       
</script>
Ответить с цитированием
  (#7 (permalink)) Старый
Наташа85 Наташа85 вне форума
Member
 
Сообщений: 30
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.10.2008
По умолчанию 25.11.2008, 02:53

Чат на ASP: от простого к сложному (исходники)


Данная статья является пробным камнем в огород ASP-чатстроительства...

Итак, требуется создать чат-сервер на ASP - ну так давайте сразу из огня да в полымя...

Во-первых, сразу разберемся - а что такое чат с точки зрения программиста? Да нет ничего проще - имеем один общедоступный массив, в который, по идее, должны складываться все фразы, посланные каждым пользователем и плюс механизмы для передачи от каждого пользователя его посланий в этот массив и наоборот - передачи всех (или не всех) данных этого массива всем (или, опять же, не всем) пользователям. Вот, если не все, то почти все...

Теперь посмотрим, как сие нам можно без особых потугов создать на ASP... Можно много и по "разному" отзываться о программистах Microsoft да и о самой конторе в целом, но вот за объект Application в данном случае можно только сказать спасибо. И правда, для создания общедоступного массива данных в ASP лучше не придумаешь. Итак, создаем файл global.asa (если он еще не создан) и в Application_OnStart добавляем следующий код:
Код:
dim MyMessArray()
Redim MyMessArray(20)
Application("MessageArray")=MyMessArray
Таким образом мы создали массив MessageArray размерностью 20. Именно в нем и будут храниться все фразы пользователей в чате (размерность, естественно, зависит от вас, но, во-первых, врядли хотя бы четверти пользователей вашего чат-сервера ну очень сильно нужно будет сразу наблюдать на экране 50 или 100 фраз сразу, а, во-вторых, ресурсы сервера тоже не безграничны).

В принципе, на этом можно и закончить . Ну, почти закончить. А в виду того, что только три китайских "почти" и только в китае берут за одно целое, мы продолжим.

Сама организация записи\чтения, естественно, просто как два байта. Берем фразу, полученную от пользователя и пишем ее в наш массив:
Код:
dim NewMess()
Redim NewMess(20)

usermess=Request("message")
messArray=Application("MessageArray")

for i=0 to 19
    NewMess(i+1) = messArray(i) 
next

NewMess(0)=usermess
Application.Lock
Application("MessageArray")=NewMess
Application.UnLock

Если разобрать вышеуказанный код построчно, то:
объявили массив NewMess
в переменную usermess занесли данные, полученные от пользователя
переписали содержимое массива MessageArray, созданного на базе объекта Application,в свежеобъявленный массив NewMess
далее произвели "сдвиг вниз" на одну позицию
в нулевую позицию записали полученные данные от пользователя
залочили Application
переписали массив NewMess в MessageArray
разлочили Application

Со чтением и выводом на экран пользователей проще:
Код:
messArray=Application("MessageArray")
for i=0 to 20
  Response.Write messArray(i)
  Response.Write ("
")
  Response.Write Chr(13)
next
...и построчно:
переписываем содержимое общедоступного массива MessageArray в messArray
и в цикле выводим по очереди все фразы из массива, незабывая "втыкать" возврат каретки для браузера в виде
и для облегчения просмотра в виде Chr(13) )

Ну вот теперь точно все, разве что за исключением определенных тонкостей, на разработку и реализацию которых может уйти вся жизнь ). Самое главное здесь, не забыть, что у вас должно присутствовать, как минимум, или два окна (но сие, по моему - бред) или два фрейма - один с формой ввода и, соответственно, с кодом для записи фраз в общедоступный массив и, второй "самообновляющийся" фрейм (окно), т.е. в данном фреме (окне) должно быть указано в эелементе META конкретное значене Refresh, с кодом вывода массива...

Ну что ж, чат у нас, можно сказать, уже работает. Существует окно ввода и окно с фразами, можно писать в первом, что душа пожелает, и наблюдать начертанное во втором. Ну просто верх творения ума человеческого. Но что-то как-то не совсем...

Для начала создадим "неполную" авторизацию пользователя. Для этого создаем стартовую страницу чата (если таковой еще нет) примерно следующим образом:

Код:
<html>
<body>
<form method=post action=chat.asp name="mForm"
target="_top">
имя (Login): <input type=text name="userName" size=12>
<input type=submit value=" Ok ">
</form>
</body>
</html>
Далее мастерим сам chat.asp:

Код:
<frameset rows="*,68">
<frame src="chatbody.asp" name=bod scrolling="yes">
<frame src="chatinput.asp" name=menu scrolling="no">
</frameset>
Здесь мы, соответственно, создали два фрейма : chatbody.asp - фрейм с фразами, chatinput.asp - фрейм с полем ввода.

Теперь добавим немного кода в chat.asp и создадим ту самую "неполную" авторизацию:
Код:
  <%
  Session("Login")=request("userName")
   if Session("Login") = "" then
    Session("Login") = "некто"
   end if 
  
   if  Session("dooropen")=0 then
     Session("dooropen")=1
       
     dim NewMess()
     Redim NewMess(20)

     messArray=Application("MessageArray")

      for i=0 to 19
       NewMess(i+1) = messArray(i) 
      next

    NewMess(0)=Session("Login") & "снова с нами..."
     Application.Lock
     Application("MessageArray")=NewMess
     Application.UnLock 
    
    end if     

  %>
Ответить с цитированием
  (#8 (permalink)) Старый
sashar2 sashar2 вне форума
Member
 
Сообщений: 131
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.09.2005
По умолчанию 25.11.2008, 09:32

Цитата:
<%@ Application Language="C#" %>

<script runat="server">

void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
dim MyMessArray()
Redim MyMessArray(20)
Application("MessageArray")=MyMessArray
}
Поясню некоторые моменты:

Цитата:
Application Language="C#"
и
Цитата:
dim MyMessArray()
Redim MyMessArray(20)
Не совместимы, ты указала в качестве языка C#, а используешь VB.

P.S>
Помни, что пример, приведенный тобой ниже, относиться к ASP, а не ASP.NET.
Ответить с цитированием
  (#9 (permalink)) Старый
Наташа85 Наташа85 вне форума
Member
 
Сообщений: 30
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.10.2008
По умолчанию 25.11.2008, 12:29

а ASP.NET реализуется только на С#? а нет случайно у кого нибудь подобной статьи или книжки по созданию чата на ASP.NET?
а еще лучше с подключением базы данных MS SQL,заранее очень признательны
Ответить с цитированием
  (#10 (permalink)) Старый
Jonano Jonano вне форума
Специалист
 
Аватар для Jonano
 
Сообщений: 3,541
Сказал(а) спасибо: 2
Поблагодарили 14 раз(а) в 14 сообщениях
Регистрация: 19.04.2005
По умолчанию 25.11.2008, 14:26

Цитата:
а ASP.NET реализуется только на С#?
ASP.NET реализуется только на .NET-языках. К ним относятся C# и VB.NET. Может ещё что.
Ответить с цитированием
  (#11 (permalink)) Старый
Наташа85 Наташа85 вне форума
Member
 
Сообщений: 30
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.10.2008
По умолчанию 27.11.2008, 01:09

может кто-то обладает еще информацией по данному вопросу?
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание библиотек so с чего начать Sardar Java 4 09.08.2011 10:14
Создание таблиц с чего начать maximusRS Visual Basic 1 01.06.2011 20:32
Создание MMORPG с чего начать Filch13 Некоммерческие проекты 0 13.01.2009 14:12
С чего начать создание сайта Casper XML & WML 0 29.07.2006 13:12
Создание ОС с чего начать BeRUS Некоммерческие проекты 9 26.06.2006 16:44
Создание firewall с чего начать slip Сетевое программирование 8 28.04.2006 19:32
Создание ландшафта с чего начать kata Программирование графики 0 07.03.2006 16:54
Создание массива edit с чего начать VladimirStud Delphi 4 03.01.2006 21:31
WebService с чего начать создание Ataman .NET 1 10.12.2005 16:15
Создание меню с чего начать djonkiller С/С++ 10 28.11.2005 18:48
Создание приложения с чего начать Red_Warrior Smalltalk 10 10.12.2004 21:49
Создание so библиотеки с чего начать axk С/С++ 2 10.08.2004 22:35



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов