Чат на ASP от просто към сложно (източник) - Софтуерни продукти
И така, трябва да създадете сървър за чат на ASP - добре, нека да отидем направо от огъня и в тигана.
Първо, нека разберем веднага - какво е чат от гледна точка на програмист? Да, няма нищо по-просто - имаме един публичен масив, в който на теория трябва да се добавят всички фрази, изпратени от всеки потребител, плюс механизми за прехвърляне на неговите съобщения от всеки потребител към този масив и обратно - прехвърляне на всички (или не всички) данни от този масив на всички (или отново не на всички) потребители. Тук, ако не всички, то почти всички.
Сега нека видим как можем да създадем това без много усилия в ASP. Можете да говорите много и по "различни" начини за програмистите на Microsoft и за самия офис като цяло, но в този случай можете само да благодарите за обекта Application. Наистина, за създаване на публичен масив от данни в ASP, не можете да си представите по-добро. И така, създаваме файла global.asa (ако все още не е създаден) и добавяме следния код към Application_OnStart:
dim MyMessArray() Редим MyMessArray(20) Application("MessageArray")=MyMessArray
По този начин създадохме масив MessageArray с размерност 20. Именно в него ще се съхраняват всички фрази на потребителите в чата (измерението, разбира се, зависи от вас, но, първо, малко вероятно е поне една четвърт от потребителите на вашия сървър за чат да трябва да гледат веднага 50 или 100 фрази на екрана наведнъж, и, второ, ресурсите на сървъра също не са неограничени).
По принцип това може да бъде завършено :-). Е, почти приключих. И с оглед на факта, че само три китайски "почти" и само в Китай са взети за едно цяло, ние ще продължим.
Самата организация на писане / четене, разбира се, е точно като два байта. Взимаме фразата, получена от потребителя, и я записваме в нашия масив:
Ако анализирате горния код ред по ред, тогава:
- деклариран масив NewMess
- данните, получени от потребителя, бяха въведени в променливата usermess
- пренаписва съдържанието на масива MessageArray, създаден въз основа на обекта Application, в новодекларирания масив NewMess
- след това направи "смяна надолу" с една позиция
- получените данни от потребителя бяха записани на нулева позиция
- заключено приложение
- пренаписа масива NewMess в MessageArray
- отключено приложение
Четенето и показването на потребителите е по-лесно:
messArray=Приложение("MessageArray") за i=0 до 20 Response.Write messArray(i) Response.Write (" ") Response.Write Chr(13) следващ
Е, сега всичко е сигурно, с изключение може би на някои тънкости, чието разработване и внедряване може да отнеме цял живот :-)). Най-важното тук е да не забравяте, че трябва да имате поне два прозореца (но това според мен са глупости) или два фрейма - единият с форма за въвеждане и съответно с код за писане на фрази в публичен масив и вторият "самообновяващ се" фрейм (прозорец), т.е. в този кадър (прозорец) конкретната стойност на Refresh трябва да бъде посочена в META елемента с изходния код на масива.
Е, можем да кажем, че чатът вече работи. Има прозорец за въвеждане и прозорец с фрази, можете да напишете в първия каквото ви желае сърцето и да наблюдавате какво е вписано във втория. Е, просто върха на творението на човешкия ум. Но нещо не е съвсем наред.