Skocz do zawartości

Czy Ma Ktoś Kod...


Rekomendowane odpowiedzi

Witam, nie będe się rozpisywać. Chodzi o komunikator w C++.

 

Cos typu :

 

Podaj swoj nick:

>>

Zalogowales sie pod nickiem "nick", mozesz teraz z nami pisac!

>>

Rozmowa typu

 

nick1 : blabla

nick2 : haha

 

itp :D

 

Jak ktos taki kod ma to niech da bo ja to potrzebuje pilnie ;p

p o m a t u r z e c h o d z i l i ś m y n a k r e m ó w k i

Odnośnik do komentarza
Udostępnij na innych stronach

#include <stdio.h>
#include <iostream>
using namespace std;

int main()
{

cout << "Podaj swoj nick: ";
char* nick = (char*)malloc(sizeof(char*));
char* a = (char*)malloc(sizeof(char*));
cin >> nick;
cout << "\nZalogowales sie pod nickiem " << nick << ", mozesz teraz z nami pisac!\n\n";
while (1==1)
{
	cout << nick << " : ";
	cin >> a;
	cout <<"nick2 : blabla\n";
}

}

Moi drodzy, bo najważniejsze w kochaniu zwłok jest to, że nie marudzą.

Odnośnik do komentarza
Udostępnij na innych stronach

Użyj protokołu gg, tu masz wysyłanie zapytania o serwer (nie moje, ja tylko zmodyfikowałem):

#include <stdio.h>
#include <winsock2.h>

int ggconnect(char* numer)
{
   WSAData wsaData;
   struct sockaddr_in sin;
   SOCKET sock;
   struct hostent* host;

   if ((WSAStartup(MAKEWORD(2, 0), &wsaData))) {
                                printf("ERROR! While starting WSAData.");
                                return 0;
                                }
host = gethostbyname("appmsg.gadu-gadu.pl");

   sin.sin_family = AF_INET;
   sin.sin_addr.s_addr = *((unsigned long*) host->h_addr);
   sin.sin_port = htons(80);
   memset(sin.sin_zero, 0, 8);

   sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

   if (sock<0) {
               printf("ERROR! While starting socket.");
               return 0;
               }

   connect(sock, (struct sockaddr*)&sin, sizeof(sin));

   char* zapytanie = (char*)malloc(sizeof("GET /appsvc/appmsg_ver8.asp?fmnumber=''&fmt=''&lastmsg=''&version='8.0.0.7669' HTTP/1.1\r\n"
				"Host: appmsg.gadu-gadu.pl\r\n"
				"User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)\r\n"
				"Pragma: no-cache\r\n"
				"\r\n")+strlen(numer));

sprintf(zapytanie,"GET /appsvc/appmsg_ver8.asp?fmnumber='%s'&fmt=''&lastmsg=''&version='8.0.0.7669' HTTP/1.1\r\n"
				"Host: appmsg.gadu-gadu.pl\r\n"
				"User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)\r\n"
				"Pragma: no-cache\r\n"
				"\r\n",numer);

   send(sock, zapytanie, strlen(zapytanie), 0);

   printf("%s\n\n", zapytanie);

   char odpowiedz[64];

   recv(sock, odpowiedz, 64, 0);

   printf("%s", odpowiedz);

/* MUSISZ WYCIĄGNĄĆ Z ODPOWIEDZI NUMER IP I SIĘ Z NIM POŁĄCZYĆ */

   return 0;
}

int main()
{
ggconnect("123456"); // 123456 - numer
getchar();
return 0;
}

Opis całego protokołu tutaj: http://webcache.googleusercontent.com/search?q=cache:d-pyElXlwAsJ:toxygen.net/libgadu/protocol/+protok%C3%B3%C5%82+gadu-gadu&cd=1&hl=pl&ct=clnk&gl=pl

Moi drodzy, bo najważniejsze w kochaniu zwłok jest to, że nie marudzą.

Odnośnik do komentarza
Udostępnij na innych stronach

Oczywiście, że się da

http://www.winapi.org/index.php?option=com_content&task=view&id=128&Itemid=36

 

Poczytaj o Socketach. Wiele więcej i fajniej jest napisane na MSDNie - po angielsku :).

Jak będziesz miał jakiś problem to napisz.

 

(btw, jak chcesz się uczyć C++ to fajnie jest zrobić Sobie taki projekt, który opiera się na socketach - nawet jeśli ich nie rozumiesz na poczatku. Dodawanie własnych funkcji itd. Sam tak zaczynałem :))

 

Pozdrawiam,

~CraftyGeek.

www.gamehacking.pl

sygnaturka.png

Odnośnik do komentarza
Udostępnij na innych stronach

Ale za dużo z tym roboty, łatwiej użyć protokołu gg. Chat można zrobić np. dodając ludzi do konferencji, ale najpierw musiałbyś utworzyć kilka/naście (zależnie od tego ile tam osób na tym chacie mogłoby pisać) kont gg, potem w programie jechać przez wszystkie i sprawdzać status. Jeśli niedostępny to numer jest dostępny i loguje się na niego. Do numerów nie musisz przypisywać nicków, wystarczy wysyłać wiadomości wraz z nickiem.

To jest najprostszy sposób, jaki widzę.

Moi drodzy, bo najważniejsze w kochaniu zwłok jest to, że nie marudzą.

Odnośnik do komentarza
Udostępnij na innych stronach

Bo jest. I nie trzeba stawiać serwera 24/h. I jeśli serwer będzie wyłączony, a ktoś wyśle wiadomość, to przez gg przyjdzie potem.

A od idiotów sobie możesz wyzywać przechodniów na ulicy. Nie wspominając że idiotyzm to poważna choroba, ale co tacy jak ty mogą o tym wiedzieć...

Moi drodzy, bo najważniejsze w kochaniu zwłok jest to, że nie marudzą.

Odnośnik do komentarza
Udostępnij na innych stronach

budrys znowu ma u mnie +a ;D Zrealizowanie tego z pomocą irc to niezły pomysł. Jeżeli chciałbyś stawiać własny serwer to napisz sobie program w winsock i trzymaj kompa włączonego 24/7, chyba, że chcesz by komunikator był dostępny tylko w godzinach, gdy twoja maszyna jest włączona :) Możesz napisać sobie serwer w jakimś języku skryptowym i przekazywać wiadomości poprzez stronę www.

Jeżeli szukasz pomocy, piszesz poprawnie po polsku, a rozwiązaniem twojego problemu nie jest pierwszy link w google - prawdopodobnie pomogę.

Jeżeli chcesz gotowca, to najpierw podaj cenę. Cenę w pln, bo za plusy pracują lamusy :)

Odnośnik do komentarza
Udostępnij na innych stronach

może też spokojnie użyc protokołu z tlenu , powiązanego przy okazji z kontem pocztowym , rozpoznawanie usera po unikalnym nicku loginu

zresztą ma wybór , źródeł i dokumentacji nie brak na necie , chocby jabber

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Odnośnik do komentarza
Udostępnij na innych stronach

Tlen, gg czy inne komunikatory chcą by rejestrować się u nich. Gość chciał chyba napisać własny komunikator, a nie klienta gg.

 

Można zrobić tak, że gdy uruchamiamy komunikator, to nasze ip umieszczane jest na stronce w formacie login:ip.

Gdy ktoś chce do nas napisać to musi znać nasz login - pobiera ze strony ip przypisane do naszego loginu i rozmowa odbywa się już bezpośrednio między użytkownikamii. Odciążylibyśmy serwer.

W momencie gdy zamykamy komunikator, to do loginu na stronce przypisywana jest liczba 0, żeby nikt nie próbował pisać w czasie gdy nie jesteśmy online.

 

Ta strona była by obsługiwana przez prosty skrypt, to jest kilkanaście minut roboty. Tylko trzeba by zrobić jakąś autoryzację ale to może w kolejnej wersji ;)

Jeżeli szukasz pomocy, piszesz poprawnie po polsku, a rozwiązaniem twojego problemu nie jest pierwszy link w google - prawdopodobnie pomogę.

Jeżeli chcesz gotowca, to najpierw podaj cenę. Cenę w pln, bo za plusy pracują lamusy :)

Odnośnik do komentarza
Udostępnij na innych stronach

 Udostępnij

  • Ostatnio przeglądający forum Czy Ma Ktoś Kod...   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...