PDA

View Full Version : Yahoo messenger bằng PHP ???



springheart
07-07-2005, 01:13
Chào các bạn,
Những tính năng cơ bản của Yahoo messenger (YM) : nhận, gửi tin nhắn, change status.

Tôi có 1 ý tưởng như thế này :
Tôi muốn làm một cái scipt bằng PHP gần giống với YM. Không câu nệ giao diện, chỉ cần đảm bảo được các tính năng cơ bản trên và 1 tính năng đặc biệt này nữa :
Như các bạn biết rồi đó, bạn online hay offline là tùy vào lúc đó máy cá nhân của bạn bật và bạn đã sgin in khi sử dụng YM(online) hay tắt hoặc bạn đã sign out (offline). (nếu không hiểu, bạn có thể đọc kỹ lại 1 lần nữa xem).
Còn đối với script này thì khác, khi bạn đã upload trên host của bạn, bạn chạy nó và sign in thì nick của bạn sẽ sáng mãi cho tới khi bạn sign out. Tất nhiên là kể cả lúc mà bạn đã tắt máy mà chưa sign out thì nick của bạn vẫn sáng. (tức các thông tin đăng nhập của bạn không được ghi trên máy cá nhân mà ghi trên host của bạn, có thể là ghi vào 1 thư mục nào đó trên host chẳng hạn) --> nó khác với cookies là ở chỗ này (những trang web ghi lại thông tin đăng nhập gồm user pass ... vào cookies tại máy cá nhân để trang web đó xác nhận rằng bạn đã đăng nhập, bạn còn online hay không, do đó khi bạn tắt máy cũng đồng nghĩa với trang web đó không thể tìm thấy gì ở bạn nữa)
Đại khái có thể tóm gọn lại là dù bạn không bật máy nhưng nick của bạn vẫn có thể sáng 24/7.

Có thể tôi nói hơi khó hiểu, nhưng đây là vấn đề tôi đã tìm hiểu từ lâu rồi, mong những bạn có kinh nghiệm hãy tham gia giúp tôi. (có thể cho tôi muợn tài liệu bạn sưu tầm được về YM hoặc code giúp tôi cũng được hehe, trong trường hợp bạn code giùm tui luôn từ A-Z thì có thể trao đổi với giá thoả thuận ^_^)
Tôi cũng cố gắng để trình bày ý cho dễ hiểu rồi, nếu các bạn không hiểu ý, cứ post lên, tôi sẽ nói rõ hơn.

wasabi
30-07-2005, 02:29
Cái quý của bạn là nghĩ được một chương trình, mà ít ra là trong diễn đàn chưa ai nói ra.

Bạn có thể nghĩ ra được nhiều chương trình, nhiều ý tưởng nhưng điều đáng buồn (hay đáng mừng) là có những hạn chế kthuật làm cho bạn ko làm được.

Dự án của bạn cũng rơi vào 1 trường hợp như thế. Có mấy trở ngại ko thể khắc phục được.

1. Trở ngại đầu tiên là kiến thức: Bạn có nắm được giao tiếp (protocol) của Y! Client ko? Cái này nói chung là có thể khắc phục được, tham khảo thêm mã nguồn của Gaim, hoặc Mirinda là được

2. Hạn chế của PHP: Bạn thấy ai làm một chương trình web-based IRC client chưa? Vì PHP là ngôn ngữ Web, nó cần khả năng giao tiếp Socket làm gì (nếu có thì khả năng cũng rất sơ sài -- tôi chỉ thạo với mấy ngôn ngữ của M$ theo những kiến thức của tôi, asp cũng ko khá hơn!)

3. Bạn chỉ khi nào truy nhập web thì trang PHP mới được thực hiện. Khi thực hiện xong thì nó thôi (chứ ko luôn connect như bạn nhầm tưởng). Trừ khi bạn dùng 1 trang refresh 5 giây 1 lần như các hộp thoại web-based chat thì mới thực hiện đc ý tưởng của mình.

Vậy nhé, mình nghĩ ý kiến của bạn ko tồi nhưng ko khả thi, ko có ứng dụng "nhìn thấy". Đừng làm lại cái ng` ta làm rồi (mình suốt ngày ol bằng $hareware Trillian cực tốt).

ActiveX_IE
30-07-2005, 05:15
Có một số source làm cái này rồi , xách về tham khảo đi

jcisio
30-07-2005, 06:09
Cái này rảnh thì ngồi làm cũng hay, không có sao :) Về mấy cái wasabi đề cập thì rõ ràng web based client thì sao bằng desktop app được, nhưng dù sao vẫn khả thi.
- Protocol của Yahoo! (YMSG) tuy không được công bố chính thức, nhưng xem mã nguồn của Gaim là biết thôi :-)
- web-based IRC client thì có CGI-IRC rồi đó, nó dùng javascript để xử lí phía client (kiểu AJAX) nên khá hiệu quả (dù phải nói là hay bị timeout). Để làm việc với socket mình đâu cần gì nhiều, PHP có đủ rồi (tuy tài liệu thì ít quá). Mà không rõ có ai thử dùng PHP-GTK để viết desktop application chưa nhỉ lol
- Ý kiến cuối thì hình như bạn hiểu lầm ý springheart rồi thì phải, vì cái script của bạn ấy sẽ chạy liên tục (không timeout)
Về việc tiến hành, tôi thấy có cái chương trình web classJabber làm cũng được. Vì vậy nếu không câu nệ về kĩ thuật thì cứ lấy cái đó, rồi sau đó kiếm vài cái Jabber-Yahoo! gateway (kiếm nhiều để dự phòng ấy mà) là thực hiện được thôi :) Tất nhiên, cái class này chỉ hiện thực protocol, chứ không phải là 1 chương trình hoàn chỉnh.
Vậy nhé, chúc bạn thành công. Tuy nhiên nếu chán, hãy tham gia dự án PHP4U :-) Chúc vui vẻ lol

phuongngoc
30-07-2005, 07:12
Cái nì mà làm thành công, cho lên host, đảm bảo mất ối BW. Nếu zô nhìu nhìu một chút có khi còn hơn cả host cho site nhạc ý chứ.

thienthan36
14-08-2005, 13:31
Theo tui thì bạn hãy dùng asp.net đi, viết bằng c#, vb.net hay ngôn ngữ biết nào cũng được.
Ngôn ngữ này hỗ trợ những tính năng cũng như những kĩ thuật cho bạn thiết kế một ứng dụng web application, và dựa vào thằng này bạn có thể thiết kế những ý tưởng của bạn đấy. Nếu bạn có thể sử dụng thành thạo các thư viện thì bạn có thể tạo những ứng dụng web giống như một ứng dụng để bàn mà không vấn đề gì

QuanNguyen
15-08-2005, 15:27
Ai noi la PHP lam socket la beo nheo, tham khao lai Google voi cai GPL project co ten la nanoWeb di nhe.
Neu can thi xem cai maunal nay xem PHP co the build webserver ra sao: http://nanoweb.si.kz/manual/invoking.html

jcisio
16-08-2005, 14:53
Ai noi la PHP lam socket la beo nheo, tham khao lai Google voi cai GPL project co ten la nanoWeb di nhe.
Neu can thi xem cai maunal nay xem PHP co the build webserver ra sao: http://nanoweb.si.kz/manual/invoking.html
Hì, có ai nói gì đâu, các thao tác đơn giản với socket cũng dễ dùng thôi mà. Làm cái web server với vài tính năng đơn giản thì mất chừng 100 dòng PHP (thậm chí nếu dùng Assembler cũng chỉ đến 300 dòng).
Tôi thì chỉ dùng PHP làm mấy cái này khi bị BẮT BUỘC dùng mà thôi :evil: Phải tính đến tài nguyên sử dụng, lại còn đa luồng nữa chứ.

Vinhie47
19-08-2005, 10:16
Tóm lại là chẳng ai làm cái app yahoo messenger bằng PHP cả. Chat mà bằng cái này chắc cả tiếng chỉ trao đổi được vài tin nhắn là cùng.

nhacso
06-10-2005, 00:37
Làm được, bạn dùng Ajax là làm được hết. Tham khảo http://www.meebo.com

duongdragonxxx
19-10-2005, 22:20
Dương muốn viết 1 desktop app giống như yahoo message. Nhưng bổ sung thêm các tính năng khác. Không biết ai có thể giúp Dương giao tiếp với cái server của yahoo. và cách lấy dữ liệu của một user.
Rất cảm ơn

jiSh@n
20-10-2005, 05:14
Down GAIM về xem nhá.

jcisio
20-10-2005, 23:47
Dương muốn viết 1 desktop app giống như yahoo message. Nhưng bổ sung thêm các tính năng khác. Không biết ai có thể giúp Dương giao tiếp với cái server của yahoo. và cách lấy dữ liệu của một user.
Rất cảm ơn
Hê hê giống tui quá. Bạn vào gaim.sf.net trang build của win32 cứ theo hướng dẫn mà làm. Để build trên win32 bạn cài cygwin để giả lập Linux, mingw để compile rồi down thêm Perl về cài còn build plugin :) Build xong rồi thì ngồi thêm thắt source (bằng C/GTK+) hoặc viết plugin (bằng ngôn ngữ bạn thích). Không được thì vào đây hỏi tiếp (hỏi nơi khác có lẽ không có câu trả lời) hoặc vào #gaim hay #gaimwin gì đó trên freenode hỏi (hỏi xa hỏi gần đừng hỏi thẳng)

duongdragonxxx
21-10-2005, 07:41
pó tay luôn Dương mà hiểu là Dương chít liền á.
Ví dụ như bây giờ mình viết bằng .net thì sao

temp2
08-01-2009, 18:42
up lên nè, 3 năm mấy rùi, cái ông springheart ổng tham gia ddth ổng post đúng 2 bài rồi out lun, không biết giờ này ổng làm được chưa?

temp tui đg cần cái này nè, có ai biết hông? chỉ giúp đi, thank trước

huongle078
08-01-2009, 19:13
Bạn nào làm được có bản Demo, up lên cho mọi người xem.

duongdragonxxx
09-01-2009, 01:08
hic hic, cái topic từ đời nào rồi (mà tình hình là e đã làm dc, và vứt xó luôn roài). THực tế mà tính ra thì cũng khó khả thi :d. Hiện tại thằng YM đã có webchat roài, nên pà con khỏi ngâm cứu. À nó còn cho xài cái pingbox jì jì đó hic hic, chưa thử

temp2
09-01-2009, 11:01
làm đc rồi thì chịu khó tìm&post codlween dùm đi bạn, hay là nêu lên ý tưởng chính cũng đc