PDA

View Full Version : Cac buoc de tao chat room by ASP???



dragon43
07-08-2002, 16:31
CAc ban co the cho minh biet cac buoc de tao chat room bang asp khong???
Hoac co ma nguon chatroom bang asp o dau chi cho minh down voi

rambo290780
07-08-2002, 18:33
sao the ha down a ! O day co cho de load dday!

White_Rose
08-08-2002, 00:37
http://www.diendantinhoc.net/tute/laptrinh/asp/chat/

nightstars
10-08-2002, 08:46
cho bạn cái địa chỉ này lấy mã nguồn của chat room nhé, dùng cực hay, nhưng là web chat, và dùng local hoặc intranet thì tiện hơn, theo mình nghĩ thế.
nếu chỗ nào support global.asa thì tốt nhỉ
http://www.theill.com/asp/conquerchat.asp

*a1*
19-08-2002, 13:16
Đọc thì tớ cũng chưa hiểu rõ lằm nhưng muốn tạo một room chat thì có thể dùng những chương trình gì

DTB
19-08-2002, 20:59
Chương trình CHAT ở địa chỉ mà nightstart cho đó "dỏm" quá trời.
Nếu muỗn xó Chat Room thì đặt dòng này trong trang web của bạn:

<A href="http://www24.brinkster.com/lopkt02/index.asp">
MY CHAT ROOM </A>

Chỉ có vậy thôi, không cần load liếc gì hết.

Không tin thì cứ thử xem sẽ biết.

Đừng ngạc nhiên. Người Việt Nam đâu phải dở hơn mấy thằng Tây.

lol

ptran
20-08-2002, 04:25
Bài viết được gửi bởi DTB
Chương trình CHAT ở địa chỉ mà nightstart cho đó "dỏm" quá trời.
Nếu muỗn xó Chat Room thì đặt dòng này trong trang web của bạn:

<A href="http://www24.brinkster.com/lopkt02/index.asp">
MY CHAT ROOM </A>

Chỉ có vậy thôi, không cần load liếc gì hết.

Không tin thì cứ thử xem sẽ biết.

Đừng ngạc nhiên. Người Việt Nam đâu phải dở hơn mấy thằng Tây.

lol

DTB có thê/ cho biết là ai viêt' cái chatrơom đó khÔng vậy ?

DTB
20-08-2002, 11:42
Tui chứ ai.
Tui không khoái Chat lắm nên bỏ phế nó.
Bạn có thể hổ trợ tân trang nó giùm được không?
Làm cho đẹp, hay rồi mình xìa chung.

ptran
21-08-2002, 02:49
sự thật thì asp không nên dùng cho chat vì browsers phải refresh thường xuyên đê/ refresh information tư` application() . PT nghĩ là DTB dùng application() đê/ save chat lines. DTB refresh browser quá nhanh , nó không hại vơ'i ai có connection fast nhưng rất nguy hiê/m đô'i vơ'i như~ng ngươ`i có low spêed connection. Also, tiếng việt không hiện lên được (type vô thì đươc nhưng không hiện lên trên chỗ chat display . Hồi trước PT có giúp cho mô.t người (không phải vn , qua một cái programmer forum) su*?a lô~i cái chatrơom của ngươ`i đó viết . Viết chatrrơom bằng ASP không khó nhưng điều quan trọng là ứng dụng đươc hay không, theo PT thì nó chỉ có thê/ dùng cho một nhóm bạn hay chỉ trong LAN thôi hoặc cùng lắm là cho technical support nê'u đươc, còn ứng dụng thực tế đê/ chat thì không đươc tốt.

DTB
21-08-2002, 16:10
Đúng rồi.
Chat bằng web thì rất chậm. Chỉ thích hợp cho nhóm nhỏ.
Nhưng tôi chưa hiểu tại sao cho refresh nhanh lại nguy hiểm cho người có tốc độ connect chậm? PTRAN có thể giải thích rõ thêm không?

Viết ASP chat room rõ ràng là không khó. Vậy mà nhiều người lại chỉ thích copy của người khác rồi sửa lại một số chổ bằng tiếng Việt và gọi việc đó với cái tên rất kêu là : "Việt Hoá"

Thật ra là chương trình Chat đó tôi viết giùm cho một người Ba Lan. Cách nay khoảng 1 năm trên Forum của Brinkster.com anh ta nhờ tôi viết. Lúc đó anh ta cho tôi xem một mẫu Chat Room của 1 website Ba Lan. Sau đó tôi viết còn anh ta và 1 người Cuba nữa góp ý cùng nhau chỉnh sửa.

Cách nay mấy tháng, vì tôi host free trên Brinkster mà nó có quy định ít nhất 6 htáng phải Login 1 lần, nên account đó bị xoá mất. Tôi vừa mới chuyển sang địa chỉ mới và cho gõ bằng tiếng Việt.

Để tôi xem lại chổ display. Trên máy tôi thì vẫn đọc được tiếng Việt nên tôi không lưu ý kỹ các chi tiết nhỏ. Cám ơn nhận xét của bạn.

Theo tôi điều qan trọng là tiếng Việt vì nếu xài tiếng Anh thì dùng Chat Room của Microsoft thì hay hơn là dùng của Theil.com

Còn chương trình được giwới thiệu trên diendantinhoc.net/tute/laptrinh/asp/chat/ thì có nhiều điểm chưa hay, theo tôi thì kém hơn của Theil.com

ptran
22-08-2002, 01:23
DTB,

Chương trình chatrơom trong diendantinhoc.net/tute/laptrinh/asp/chat/ chỉ là basic chatrơom thôi , chắc là chỉ đê/ tutor cho các bạn muốn học làm chatrơom chớ không có ý định là làm một chatrơom hoàn chỉnh . DTB có thư/ chạy chatrơom đó với modem chưa ? theo PT thì nếu với low spêed connection (nhất là đôí với những người con` dùng winmodem), refresh quá nhanh sẽ làm cho IE có thê/ chậm hă/n lại hoặc (đối với users) thì có thê/ xem như là IE stops responding. IE chưa kịp download cái response cho cái refresh đầu thì lại phải request một cái request đê/ refresh scrêen rồi ... Nó phải cancel cái request đâù (internal) rồi request cái mới . Nê'u vì lý do gi` đó mà server không kịp response thì server (nếu không test connection alive trước khi response) thì sẽ tiếp tục chờ đê/ responsẹ và không trả lời cái request mới . DTB thư/ vô yahơo mail (phải là dynamic info) rồi refresh liên tục coi thư/ IE nó ra saọ PT dùng DSL , refresh liên tục thì IE chỉ thấy trắng bóc không kịp download gì về kịp ...

Ngoài ra, nếu đó là server của mình thì lại càng không nên làm vì làm slow down server. Nê'u server có firewall, some firewall sẽ count như~ng cái request, nếu từ một source mà có qúa nhiều request trong mô.t second, firewall sẽ tự động block cái IP đó lại đe^? tránh trường hợp bị DOS attack.

DTB
22-08-2002, 23:51
PTRAN,

Hiện tại ở Việt Nam vẫn đang xài modem.
Có lẽ là đường truyền ở Việt Nam là chậm nhất thế giới (làm cho giá là mắc nhất thế giới !).
Trong chương trình Chat của tôi sẽ không gặp trường hợp màn hình trắng bóc đâu.
Bởi vì tôi chia ra làm 6 frame, mỗi frame có nhiệm vụ riêng của nó, nhưng trên màn hình chỉ thấy có 3 frame vì 3 cái kia đã được giấu đi (COLS=0). Sáu frame đó là:
1/. DISPLAY : để hiện thị các dòng tin tức.
2/. ONLINE : hiện danh sách những người online và dùng để gửi tin riêng cho 1 người.
3/. FORM : để người sử dụng gõ tin vào.
4/. FOR INFO : dùng để refresh, nhận tin mới (chỉ nhận tin mới mà thôi).
5/. FOR NODO: chẳng làm gì cả. Nó chỉ là TARGET của FORM khi gửi 1 message.
6/. FOR TO DO: để thực hiện các lệnh (= cilent script):

- Ghi các tin mới vào frame DISPLAY, bằng lệnh đại khái là:
function DisplayMe(xkk) {
window.frames.display.body.innerHTML = xkk + window.frames.display.body.innerHTML
}

- Lệnh cho frame FOR INFO đi nhận tin mới, bằng lệnh đại khái là:
window.frames.ForInfo. location.href = "get_mess.asp"

Trong số đó thì 3 cái frame sau (4,5,6) thì được giấu đi.
Và vì cái frame mà tôi cho refresh là frame FOR INFO nên dù nó có bị trắng bóc thì cũng không sao. bởi vì bản thân frame FOR INFO là một trang trắng và nó đã được giấu đi. Những tin mới (chỉ nhận về những tin mới) sẽ được nhận về dưới dạng 1 đoạn script, đại khái là có dạng:
<BODY onload='top.frames.fortodo.DisplayMe(kk)'>
<Script>
kk="Tin mới nhận còn nóng hổi đêêê!!"
</Script></BODY>

Đó là trong trường hợp có tin mới. Nếu không có tin nào mới thì nó chỉ nhận về:
<META HTTP-EQUIV="Refresh" CONTENT="1">

Như vậy nếu có tin mới thì mới cần phải thể hiện lên màn hình và lúc đó thì frame FOR INFO lại không refresh. Nó chỉ chuyển nội dung mới nhận đó cho function nằm trong FOR TODO thực hiện, còn nó thì ngồi nghỉ mệt tí chút :-)). Chỉ sau khi frame FOR TODO thực hiện xong việc vẽ lại màn hình thì chính frame FOR TODO mới phát lênh bảo "Ê chú em! Xong rồi ! Đi nhận tin mới đi !", tức là ở dòng cuối của function DisplayMe có dòng lệnh:
window.frames.ForInfo. location.href = "get_mess.asp"

Như vậy 6 frame có nhiệm vụ riêng của nó, nhưng các nhiệm vụ có liên quan nhau không thực hiện đồng thời mà sẽ tuần tự thực hiện. Và vì vậy không làm IE bối rối lắm đâu :-))

---------------

Việc chỉ nhận tin mới mà không nhận lại các tin cũ giúp cho giảm bớt dung lượng truyền tải. Chính vì vậy mà tôi có thể tăng tốc độ refresh lên. Thử tính xem nhé:

Nếu không có tin mới nào cả thì chỉ nhận về trong phần HEAD của trang web dòng này:
<META HTTP-EQUIV="Refresh" CONTENT="1">
Và nó chiếm khỏang 200 bytes dung lượng truyền tải. Vì refresh sau 1 giây nên mỗi 10 giây mất 2 kb.
(Nếu refresh lại cả những tin cũ thì chỉ cần khoảng 20 dòng tin thôi đã chiếm mất khoảng 2-3 kb rồi).
Nếu có tin mới thì tin đó chỉ nhận 1 lần mà thôi. Như vậy việc refresh sau 1 giây hay 10 giây cũng không làm thay đổi dung lượng truyền tải bao nhiêu cả.

Vì cho nối thêm tin mới vào phần DISPLAY bằng lệnh của cilent script nên có thể cho thể hiện trên màn hình nhiều dòng tin, 300-500 dòng cũng không thành vấn đề vì bộ nhớ thông thường là 64Mb.
(Trong khi đó biến Application trên server thì không cần lưu trữ nhiều như thế. Chỉ cần khoảng 30 tin mới nhất là đủ rồi).

--------------

Vì tôi để thời gian refresh là 1 giây, nhưng thực tế là còn có thêm thời gian "đi đường", nếu ở Mỹ có lẽ trung bình là 1,05 đến 1,1 giây là refresh 1 lần. Còn ở Việt Nam thì trung bình phải là 2-3giây/lần.

Theo PTRAN thì tốc độ như vậy có nhanh quá không? Có thể bị firewall chận lại không?
PTRAN có biết chính xác là thường người ta sẽ chận lại nếu vượt quá bao nhiêu lần/giây?
Mà theo tôi thì người ta phải tính theo phút chứ không tính theo giây đâu, phải không? Bởi vì nếu tin tặc tấn công thì phải kéo dài thời gian tác dụng mới lớn.
Tôi chuyên ngành Kế Toán chứ không phải Tin Học nên không rành mấy vụ này.

---------------

Trước kia tôi để refresh CONTENT="0" nhưng có một người ở Mỹ nói là: "nhanh không thể tưởng, chỉ khi nhìn vào dòng trạng thái ở phía dưới màn hình mới biết là nó vẫn đang hoạt động". Bởi vậy tôi mới chỉnh lại cho refresh sau 1 giây, vì ở Việt Nam thì 0 hay 1 là như nhau do tốc độ đường truyền quá chậm (!!)

---------------

Quá dài rồi. Xin tạm dừng. Mai nói tiếp.

Thân.
DTB

White_Rose
23-08-2002, 02:18
Bài viết được gửi bởi DTB
Đúng rồi.
Cách nay mấy tháng, vì tôi host free trên Brinkster mà nó có quy định ít nhất 6 htáng phải Login 1 lần, nên account đó bị xoá mất. Tôi vừa mới chuyển sang địa chỉ mới và cho gõ bằng tiếng Việt.
em khong doc ki nen khong ro. Xin hoi y' anh 6 thang khong login vao account hay la 6 thang khong co ai vao trang web

dragon43
23-08-2002, 17:32
Cho hoi chut
The file global.asa de o dau trong thu muc cua brinkster
Co phai brinkster khong ho tro file nay khong
Tai sao trong Brinkster co mot so file .asp khong upload len duoc

DTB
24-08-2002, 00:40
White_Rose,

6 tháng phải Login vào tài khoản của mình 1 lần.
Vì Brinkster là nơi cho thuê chổ host nên điều nó quan tâm là mình (người lập web, khách hàng tiềm năng của nó) có còn nhớ đến nó, có còn cần đến nó hay không. Trang web của mình có ai vào xem không là chuyện riêng của mình, nó không có quyền hỏi đến (mà nó chẳng cần quan tâm đến làm gì).

----------


dragon43,

Dùng free thì không được xài global.asa, CDONT...
Nếu trả tiền thì mới được xài (lúc đó sẽ được có domain riêng và rất nhiều hổ trợ khác... nhưng giá tới 13USD/tháng.

Brinkster muốn là các file asp phải được viết cẩn thận. Nếu chương trình gây lỗi có thể làm server bị chậm lại, thậm chí treo máy luôn... như vậy ảnh hưởng tới người khác. Mỗi máy của brinkster có khoảng 30.000-50.000 người host free trên đó lận. Rất nhiều người trong số đó chỉ mới bắt đầu học. Nếu không ngăn chận 1 số trường hợp gây lỗi thì chắc máy nó chạy không nổi đâu.

Chẳng hạn lệnh Script.TimeOut không được đặt quá 90 giây.
Lệnh On Error Resume Next chứng tỏ chương trình chưa được thử nghiệm vẫn còn nhiều khả năng gây lỗi (nếu viết chặt chẽ thì đâu cần dòng lệnh đó nữa)...

Tất nhiên là cũng có cách né kiểm tra của nó. Nhưng nói chung những điếu kiện đó của Brinkster là để có lợi cho chính mình thôi. Nên tuân theo quy định của nó.