Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 29-07-2003, 17:13
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
ik ben nu een simpele chat client aan het maken, maar nu heb ik een probleem. ik heb 2 threads, de main voor het ontvangen en een server_send() voor het versturen, die als het goed is prallel aan elkaar draaien. Maar dat is het probleem niet, in main heb ik de volgende code.
PHP-code:
    for( ; ; )
    {
        
nBytesrecv(Chat_Server, (char*)&MessageSizesizeof(MessageSize), 0);

        if (
nBytes==SOCKET_ERROR)
        {
            
cout<<"Ontvangen van bericht mislukt";
        }
        
MessageSize=ntohl(MessageSize);
    
        
nBytes=recv(Chat_ClientbufferMessageSize0);
        if(
nBytes==SOCKET_ERROR)
        {
            
cout<<"Ontvangen van het bericht mislukt!\n";
        }
        
buffer[MessageSize]='\0';
    
        
printf("Bericht ontvangen: %s\n"buffer);
    } 
nu herhaalt ie dit heel snel 8er elkaar. Ik wil eigenlijk hebben dat ie eerst controleert of de socket data bevat. En dan iets in de vorm
if(socket bevat data/is niet leeg)
{
//mn code
}
else
{
sleep(x) ;
continue;
}
dat ie dus controleert of de socket informatie bevat, zoja dan moet ie dat ophalen en afdrukken, zonee moet ie x sec/msec w8en en dan de for loop opnieuw uitvoeren.
Hoe krijg ik dit voor elkaar?

Laatst gewijzigd op 29-07-2003 om 17:17.
Met citaat reageren
Advertentie
Oud 29-07-2003, 17:27
niemand
Avatar van niemand
niemand is offline
Eindig jij je C++ altijd met een ?> ?
Met citaat reageren
Oud 29-07-2003, 17:29
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
niemand schreef op 29-07-2003 @ 18:27:
Eindig jij je C++ altijd met een ?> ?
doet de php tag, en ik gebruik die omdat ik van syntax highligthing hou
Met citaat reageren
Oud 29-07-2003, 17:31
dafelix
Avatar van dafelix
dafelix is offline
Citaat:
niemand schreef op 29-07-2003 @ 18:27:
Eindig jij je C++ altijd met een ?> ?
lkkr nuttelooz..


modified code:

Code:
for( ; ; )
    {
        If recv(Chat_Server, (char*)&MessageSize, sizeof(MessageSize), 0) {
        nBytes= recv(Chat_Server, (char*)&MessageSize, sizeof(MessageSize), 0);

        if (nBytes==SOCKET_ERROR)
        {
            cout<<"Ontvangen van bericht mislukt";
        }
        MessageSize=ntohl(MessageSize);
    
        nBytes=recv(Chat_Client, buffer, MessageSize, 0);
        if(nBytes==SOCKET_ERROR)
        {
            cout<<"Ontvangen van het bericht mislukt!\n";
        }
        buffer[MessageSize]='';
    
        printf("Bericht ontvangen: %s\n", buffer);
    }
    pause 2;
werkt zoiets niet gewoon?
__________________
$karma++;
Met citaat reageren
Oud 29-07-2003, 17:32
niemand
Avatar van niemand
niemand is offline
Citaat:
Dr HenDre schreef op 29-07-2003 @ 18:29:
doet de php tag, en ik gebruik die omdat ik van syntax highligthing hou
Ah ok dan snap ik het.
Met citaat reageren
Oud 29-07-2003, 17:35
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
dafelix schreef op 29-07-2003 @ 18:31:
werkt zoiets niet gewoon?
K heb nog niet gecompiled omdat het een deel is van een groot script die nog niet af is. Maar je krijgt iig iedere keer dat hij een bericht probeert op te halen een foutmelding of een 0

[edit]
pause 2
Met citaat reageren
Oud 29-07-2003, 17:56
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
hmm, na ik heb nu het volgende gevonden
http://analyser.oli.tudelft.nl/beej/.../advanced.html
daar staat het volgende
Citaat:
select() geeft je de kracht om verscheidene sockets tegelijkertijd in de gaten te houden. Het vertelt je welke klaar zijn om van gelezen te worden, welke klaar zijn om naar te schrijven, en welke sockets uitzonderingen ("exceptions") hebben gegenereerd, als je dat echt wil weten.
Alleen ik snap niet echt wat daar en verder bedoeld wordt. En hoe nou select werkt
Met citaat reageren
Oud 29-07-2003, 19:17
Screaming Slave
Screaming Slave is offline
maybe threading isn't for you
Met citaat reageren
Oud 29-07-2003, 20:08
Marcade
Avatar van Marcade
Marcade is offline
Citaat:
Dr HenDre schreef op 29-07-2003 @ 18:56:
hmm, na ik heb nu het volgende gevonden
http://analyser.oli.tudelft.nl/beej/.../advanced.html
daar staat het volgende


Alleen ik snap niet echt wat daar en verder bedoeld wordt. En hoe nou select werkt
Ik heb nooit in C++ gewerkt maar wel met een geporte versie van die winsock ding, in QB.

select zorgt er idd voor dat je kan kijken of er data in bepaalde sockets zit. Dat doe je door de functie een lijst met sockets mee te geven welke die moet controlleren of je er naar kan schrijven, of je eruit kan lezen, of er een error is opgetreden.

Select geeft dan lijsten terug welke sockets idd je naar toe kan schrijven, uit kan lezen en/of een error hebben.
Met citaat reageren
Oud 30-07-2003, 12:28
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
ik heb het ondertusse gevonden
zo controleer je of de sockets data bevatten.
Code:
int result=select(pollingSet.fd_count, &pollingSet, NULL, NULL, &waitTime);
if(result>0)
{
//code
}
Met citaat reageren
Oud 30-07-2003, 12:51
Chimera
Avatar van Chimera
Chimera is offline
Is er geen modus waarbij blocking IO gebruikt wordt? ASynch IO sucks IMHO
Met citaat reageren
Oud 30-07-2003, 13:10
McMotion
Avatar van McMotion
McMotion is offline
ik begrijp niet waarvoor je nu die verschillende threads gebruikt... waarom niet 1 helemaal voor de client en 1 helemaal voor de server? in ieder geval niet bij elkaar in de thread.. dan kan je ook gewoon blocking calls gebruiken idd... en als je het toch perse zo wilt gebruik dan select en ga niet constant zitten pollen in een loop.. dat is niet verstandig
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 30-07-2003, 15:17
Marcade
Avatar van Marcade
Marcade is offline
Blocking? Zodat je niks anders kan doen en je programma gewoon vast zit, wachten totdat de select functie time-out of totdat er data binnenkomt? Dat je dus ook niks kan versturen? :/

(of heb ik het nou mis)
Met citaat reageren
Oud 30-07-2003, 15:38
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
McMotion schreef op 30-07-2003 @ 14:10:
ik begrijp niet waarvoor je nu die verschillende threads gebruikt... waarom niet 1 helemaal voor de client en 1 helemaal voor de server? in ieder geval niet bij elkaar in de thread.. dan kan je ook gewoon blocking calls gebruiken idd... en als je het toch perse zo wilt gebruik dan select en ga niet constant zitten pollen in een loop.. dat is niet verstandig
Als ik apart een server en client hebt kan ik met de server alleen ontvangen en met de clien alleen versturen, ik moet hebbend at ik met 1 prog en kan versturen en ontvangen. een beetje irc-style, maar dan 1 op 1. Maar ik heb het nu opgelost. Er zitten wel een paar andere problemen in maar voor geintereseerden, de source staat op http://members.lycos.nl/hendre/Source.html
Met citaat reageren
Oud 30-07-2003, 23:09
McMotion
Avatar van McMotion
McMotion is offline
Citaat:
Marcade schreef op 30-07-2003 @ 16:17:
Blocking? Zodat je niks anders kan doen en je programma gewoon vast zit, wachten totdat de select functie time-out of totdat er data binnenkomt? Dat je dus ook niks kan versturen? :/

(of heb ik het nou mis)
eh ja en dan met een andere thread versturen die blocking call vraagt geen processortijd, busy waiting wel
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 30-07-2003, 23:12
McMotion
Avatar van McMotion
McMotion is offline
Citaat:
Dr HenDre schreef op 30-07-2003 @ 16:38:
Als ik apart een server en client hebt kan ik met de server alleen ontvangen en met de clien alleen versturen, ik moet hebbend at ik met 1 prog en kan versturen en ontvangen. een beetje irc-style, maar dan 1 op 1. Maar ik heb het nu opgelost. Er zitten wel een paar andere problemen in maar voor geintereseerden, de source staat op http://members.lycos.nl/hendre/Source.html
hoezo? je kan met server sockets toch ook versturen en met een client socket toch ook ontvangen?

trouwens ik wil geen zeikerd zijn hoor maar goto in je code?
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 31-07-2003, 08:41
Marcade
Avatar van Marcade
Marcade is offline
Citaat:
McMotion schreef op 31-07-2003 @ 00:12:
hoezo? je kan met server sockets toch ook versturen en met een client socket toch ook ontvangen?

trouwens ik wil geen zeikerd zijn hoor maar goto in je code?
Je hebt een socket nodig om te luisteren voor inkomende connectie requests, en een socket om mee te verbinden; je kan dat niet tegelijkertijd met dezelfde socket doen?

Zodra de verbinding er is, kan je idd. gewoon zenden en ontvangen.

En op zich is er niks mis met Go To, het nodigt alleen uit tot slecht overzichtelijke code, verder niks
Met citaat reageren
Oud 31-07-2003, 08:46
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
Marcade schreef op 31-07-2003 @ 09:41:
En op zich is er niks mis met Go To, het nodigt alleen uit tot slecht overzichtelijke code, verder niks
Ik raad je aan, als je professioneel C(++) gaat programmeren, geen goto's te gebruiken. Jij mag dan misschien vinden dat er niks mis is met goto, maar je zet jezelf gruwelijk voor schut, en niemand neemt je C kwaliteiten nog erg serieus.

Goto's zijn nooit onmisbaar, en zijn gewoon een gruwelijk lelijke constructie.
Met citaat reageren
Oud 31-07-2003, 10:44
Screaming Slave
Screaming Slave is offline
goto == //FIXME zo'n beetje
Met citaat reageren
Oud 31-07-2003, 13:42
Marcade
Avatar van Marcade
Marcade is offline
Citaat:
Chimera schreef op 31-07-2003 @ 09:46:
Ik raad je aan, als je professioneel C(++) gaat programmeren, geen goto's te gebruiken. Jij mag dan misschien vinden dat er niks mis is met goto, maar je zet jezelf gruwelijk voor schut, en niemand neemt je C kwaliteiten nog erg serieus.

Goto's zijn nooit onmisbaar, en zijn gewoon een gruwelijk lelijke constructie.
Dat zeg ik. What's your point?
Met citaat reageren
Oud 31-07-2003, 17:16
McMotion
Avatar van McMotion
McMotion is offline
Citaat:
Marcade schreef op 31-07-2003 @ 09:41:
En op zich is er niks mis met Go To, het nodigt alleen uit tot slecht overzichtelijke code, verder niks
ten eerste vrij onoverzichtelijk, maar als je alleen al dénkt in goto's dan ben je verkeerd bezig als je het mij vraagt.. je kunt het ook allemaal in loops en functies beredeneren dus waarom moeilijk maken als het makkelijk is...
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 01-08-2003, 10:19
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
Marcade schreef op 31-07-2003 @ 14:42:
Dat zeg ik. What's your point?
Nee, je zegt dat er niks mis mee is. Er is niks GOEDS aan goto's.
Met citaat reageren
Oud 01-08-2003, 11:12
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
McMotion schreef op 31-07-2003 @ 18:16:
ten eerste vrij onoverzichtelijk, maar als je alleen al dénkt in goto's dan ben je verkeerd bezig als je het mij vraagt.. je kunt het ook allemaal in loops en functies beredeneren dus waarom moeilijk maken als het makkelijk is...
in loops is idd wat profisioneler, maar jah, dat is weer zoveel typwerk. Je denkt ten slotte in goto. Maar ik weet idd dat het slecht is om gotos te gebruiken, maar dat geeft aan hoe ver ik ben in cpp (niet zo ver dus)
Met citaat reageren
Oud 01-08-2003, 11:50
niemand
Avatar van niemand
niemand is offline
Citaat:
Dr HenDre schreef op 01-08-2003 @ 12:12:
in loops is idd wat profisioneler, maar jah, dat is weer zoveel typwerk. Je denkt ten slotte in goto. Maar ik weet idd dat het slecht is om gotos te gebruiken, maar dat geeft aan hoe ver ik ben in cpp (niet zo ver dus)
Je moet _nooit_ beginnen met goto. Dit heeft nogal een effect op hoe je altijd blijft coden omdat je gewoon in goto's denkt.
En het is niet wat professioneler. Als ik iets met cpp doe voor een bedrijf dan mag ik het gewoon overnieuw doen als er ook maar 1 goto in zit. Goto's zijn gewoon brak en produceren brakke onoverzichtelijke code.
Ook als je niet ver bent moet je gewoon _geen_ goto gebruiken.
Met citaat reageren
Oud 01-08-2003, 12:12
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
niemand schreef op 01-08-2003 @ 12:50:
Je moet _nooit_ beginnen met goto. Dit heeft nogal een effect op hoe je altijd blijft coden omdat je gewoon in goto's denkt.
En het is niet wat professioneler. Als ik iets met cpp doe voor een bedrijf dan mag ik het gewoon overnieuw doen als er ook maar 1 goto in zit. Goto's zijn gewoon brak en produceren brakke onoverzichtelijke code.
Ook als je niet ver bent moet je gewoon _geen_ goto gebruiken.
Ok ik zal het vanaf nu veranderen, maar eerst moet ik eens andere problemen zien op te lossen, want op de een of andere manier crasht ie gewoon vanzelf. Ik krijg het volgende
Code:
Welkom bij Dr HenDre-Chat :P
Voer Nick in:   Dr HenDre
Geef op welke poort gebruikt moet worden voor de verbinding om berichten te ontv
angen
Poort 1337 is standaard:        1337
Chat Server Gestart
hier
hier
accepteren geluktChat

_Client gestart
Voer bericht in:        Bericht te groot
OntvangenFout bij het verz van het bericht enden van de groomislukt!
tte!
Fout bij het verzenden van het bericht!
*crash*
negeer die hier maar, dat zijn wat 'breakpoints' voor mezelf, zodat ik weet hoe ver dat prog komt.
Het rare is dat ie aangeeft dat het verstuurde bericht te groot is, terwijl ie de regel
cin.getline(buffer, 200); //bericht invoeren
gewoon of overslaat of negeert of zelf aanvult
Maar goed, dit wordt allemaal een beetje offtopic
Met citaat reageren
Advertentie
Oud 01-08-2003, 12:38
Chimera
Avatar van Chimera
Chimera is offline
Die buffer, is die wel gealloceerd?
Met citaat reageren
Oud 01-08-2003, 12:52
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
Chimera schreef op 01-08-2003 @ 13:38:
Die buffer, is die wel gealloceerd?
[schaam]wat is dat, en hoe doe je dat[/schaam]
Met citaat reageren
Oud 01-08-2003, 16:06
McMotion
Avatar van McMotion
McMotion is offline
wijst buffer naar geldig geheugen? of is het gewoon een pointer die nergens naar wijst... in dat geval... reserveer geheugen als dat niet het probleem is.. geef eens aan waar het programma op crasht en wat de foutmelding is
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 01-08-2003, 17:36
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
McMotion schreef op 01-08-2003 @ 17:06:
wijst buffer naar geldig geheugen? of is het gewoon een pointer die nergens naar wijst... in dat geval... reserveer geheugen als dat niet het probleem is.. geef eens aan waar het programma op crasht en wat de foutmelding is
hmm, het probleem is, ij het debuggen crash mn prog bij buffer[MessageSize]='\0'; Hiermee wil ik de string die verstuurd is afsluiten. als ik dit weghaal, dat crahs ie niet, maar stuurt de functie server_send() rare tekens, terwijl hij normaal gesproken eerst om een string moet vragen, en die moet versturen. Hij stuurt iets heel raars, en vervolgens worden krijg ik de melding dat het bericht te groot was. Ik heb een maximum ingesteld van 200 chars. Als je iets stuurt dat groter is dan 200 krijg je een foutmelding en worden alle sockets direct gesloten(om te voorkomen dat bufferoverflows worden gebruikt om te exploiten).het gaat om de volgende code die rare tekens genereert.
Code:
void server_send()
{ 
    server_send_args ssa;
    ssa.poort=1337;
    ssa.hostname="localhost";
	int error;
client_start:
	WSAData wsaData;

	if((error=WSAStartup(MAKEWORD(2,2), &wsaData))==SOCKET_ERROR)
	{
		cout<<"Kan Winsock voor het versturen niet opstarten!\n";
		goto client_start;
	}
    
	int Chat_Client=socket(AF_INET, SOCK_STREAM, 0);
	if(Chat_Client == SOCKET_ERROR)
	{
		cout<<"Kan de socket Chat_Client niet initialisren!\n";
		goto client_start;
	}

    struct hostent *host_entry;
    if((host_entry=gethostbyname(ssa.hostname))==NULL)
    {
        cout<<"Host niet gevonden\n";
    }

	struct sockaddr_in server;
	server.sin_family = AF_INET;
	server.sin_port = htons(ssa.poort);
	server.sin_addr.s_addr= *(unsigned long*) host_entry->h_addr;
    Sleep(1000);
	if(connect(Chat_Client, (sockaddr*)&server, sizeof(server))== SOCKET_ERROR)
	{
		cout<<"Er is een fout opgetreden tijdens het maken van een verbinding\n"
			  "met " <<ssa.hostname <<"\n";
		goto client_start;
	}
	cout<<"Chat_Client gestart\n";
	

	int nBytes;			//Aantal gelezen/geschrven bytes, ook te gebruiken om errors uit te lezen
	char buffer[max_grootte_bericht];	//buffer aanmaken om berichten in op te slaan
Sleep(5000);
//	for(;;)
//	{
        cout<<"Voer bericht in:\t";
		cin.getline(buffer, 200);		//bericht invoeren
		if(stricmp  (buffer, "quit"))
		{
			ShutdownSocket(Chat_Client);
		}

		unsigned long MessageSize = strlen(buffer);	//lengte van de string
		MessageSize = htonl(MessageSize);			//byte-ordening vaststellen
//		buffer[MessageSize]='\n';
		nBytes=send(Chat_Client, (char*)&MessageSize, sizeof(MessageSize), 0);
		if (nBytes==SOCKET_ERROR)
		{
			cout <<"Fout bij het verzenden van de grootte!\n";
		}

		MessageSize = ntohl(MessageSize);
		nBytes=send(Chat_Client, buffer, MessageSize, 0);
	
		if(nBytes==SOCKET_ERROR)
		{
			cout<<"Fout bij het verzenden van het bericht!\n";
		}
//	}
	//pthread_exit(NULL);
}
ik heb er een paar dingen er tijdelij uit gehaald(zoals de oneindige for lus die om een invoer vraagt). Maar de code vraagt niet eens om een invoer. zou het misshien aan het volgende kunnen liggen vraag ik me opeens af:
a_thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&server_send, NULL, 0, &a_threadId);

Omdat het me niet lukte om bij het maken van de thread 2 argumente mee te geven aan die funtie heb ik er maar NULL van gemaakt, en heb ik een struct genaamd sever_send_args om de data door te geven.
Met citaat reageren
Oud 01-08-2003, 21:11
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
Dr HenDre schreef op 01-08-2003 @ 18:36:
hmm, het probleem is, ij het debuggen crash mn prog bij buffer[MessageSize]='\0';
Als jij een buffer van 10 groot maakt, loopt je inder van 0-9. Als je index 10 probeert te benaderen, krijg je een access violation. Je moet je buffer 1 groter dan de messagesize maken, anders heb je geen ruimte voor die 0.
Met citaat reageren
Oud 02-08-2003, 08:35
Marcade
Avatar van Marcade
Marcade is offline
Citaat:
McMotion schreef op 31-07-2003 @ 18:16:
ten eerste vrij onoverzichtelijk, maar als je alleen al dénkt in goto's dan ben je verkeerd bezig als je het mij vraagt.. je kunt het ook allemaal in loops en functies beredeneren dus waarom moeilijk maken als het makkelijk is...
Dat ligt aan de programmeur; niet aan de goto.
Met citaat reageren
Oud 02-08-2003, 12:50
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
Chimera schreef op 01-08-2003 @ 22:11:
Als jij een buffer van 10 groot maakt, loopt je inder van 0-9. Als je index 10 probeert te benaderen, krijg je een access violation. Je moet je buffer 1 groter dan de messagesize maken, anders heb je geen ruimte voor die 0.
Neej, dat is het probleem niet, want mijn buffer is buffer[max_grootte_buffer] en max_grootte_buffer is gedefineerd als 5000. En ik kan max berichten krijgen van 200 bytes/chars. Dus stel ik krijg een stringvan 50 chars dus van buffer[0] tot buffer[49] dan is messagesize 50 dus wordt de string afgesltoen met een \0 (stringzero), op plaats buffer[messagesize]. Toch veroorzaakt die regel een crash, als ik het weghaal wordt er iets raars verzoekt en wordt het programma 'normaal' afgesloten.
Met citaat reageren
Oud 02-08-2003, 14:50
Chimera
Avatar van Chimera
Chimera is offline
char buffer[max_grootte_bericht];

->

char[] buffer = new char[max_grootte_buffer];
Met citaat reageren
Oud 02-08-2003, 15:03
McMotion
Avatar van McMotion
McMotion is offline
Citaat:
Marcade schreef op 02-08-2003 @ 09:35:
Dat ligt aan de programmeur; niet aan de goto.
ik heb geen flauw idee over welk puntje je nu zanikt maar je hebt gelijk.
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 02-08-2003, 15:13
McMotion
Avatar van McMotion
McMotion is offline
HenDre, post de source eens waar die regel instaat waar het fout gaat.. anders kunnen we moeilijk kijken he.. en ik neem aan dat je een access violation krijgt? of wat anders
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 02-08-2003, 15:25
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
McMotion schreef op 02-08-2003 @ 16:13:
HenDre, post de source eens waar die regel instaat waar het fout gaat.. anders kunnen we moeilijk kijken he.. en ik neem aan dat je een access violation krijgt? of wat anders
Euh, dat heeft 'ie dus al gedaan.
Met citaat reageren
Oud 02-08-2003, 15:41
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
McMotion schreef op 02-08-2003 @ 16:13:
HenDre, post de source eens waar die regel instaat waar het fout gaat.. anders kunnen we moeilijk kijken he.. en ik neem aan dat je een access violation krijgt? of wat anders
ik krijg nu helemaal geen error, nadat ik de bovengenoemde regel heb weggehaald krijg ik dus geen error meer, maar verstuurd server_send() iets heel vaags. Ik zal de source effe updaten, hij staat dus op http://members.lycos.nl/hendre/Source.html

edit:
ow jah, ik krijg dus GEEN acces violation error, maar een unexpected error waar zelfs de debugger van MSVC++ nix meer kan, hij geeft gewoon unexpected error.

edit2:
source is geupdate, fout is opeens weg, hij kan opeens niet connecten met localhost, terwijl ik niets heb veranderd
Code:
Welkom :P
Voer Nick in:   henri
Geef op welke poort gebruikt moet worden voor de verbinding om berichten te ontv
angen
Poort 1337 is standaard:        1337
Chat Server Gestart
hier
Hostnaam gevonden
Er is een fout opgetreden tijdens het maken van een verbinding
met localhost
echt vaag allemaal

Laatst gewijzigd op 02-08-2003 om 16:06.
Met citaat reageren
Oud 02-08-2003, 17:48
niemand
Avatar van niemand
niemand is offline
Citaat:
Dr HenDre schreef op 02-08-2003 @ 16:41:

source is geupdate, fout is opeens weg, hij kan opeens niet connecten met localhost, terwijl ik niets heb veranderd
boy meets coding
Met citaat reageren
Oud 02-08-2003, 17:48
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
niemand schreef op 02-08-2003 @ 18:48:
boy meets coding
tja, je moet toch ooit beginnen
Met citaat reageren
Oud 02-08-2003, 17:49
Chimera
Avatar van Chimera
Chimera is offline
Waaorm begin je niet in Java bijvoorbeeld? Heel erg geschikt om een chatservertje te beginnen, en veel makkelijker als beginnerstaal.
Met citaat reageren
Oud 02-08-2003, 17:57
niemand
Avatar van niemand
niemand is offline
Citaat:
Chimera schreef op 02-08-2003 @ 18:49:
Waaorm begin je niet in Java bijvoorbeeld? Heel erg geschikt om een chatservertje te beginnen, en veel makkelijker als beginnerstaal.
Best een goed idee ja.
PHP kan ook, maar daarin word een interactive client toch al lastig.
Met citaat reageren
Oud 02-08-2003, 17:57
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
Chimera schreef op 02-08-2003 @ 18:49:
Waaorm begin je niet in Java bijvoorbeeld? Heel erg geschikt om een chatservertje te beginnen, en veel makkelijker als beginnerstaal.
tja, ik ben eenmaal met cpp begonnen, een aantal maanden geleden. En om nou over te stappen op java.....lijkt me geen goed plan. Bovendien is java geheugenslurpend Maar kun je dan misshien een paar voordelen van java geven, dat ik may be toch overstap(denk eik niet maar je weet het maar nooit)
Met citaat reageren
Oud 02-08-2003, 17:59
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
niemand schreef op 02-08-2003 @ 18:57:
Best een goed idee ja.
PHP kan ook, maar daarin word een interactive client toch al lastig.
nah, ik zat eerst te twijfelen tussen php en cpp, maar php is webbased en vooral voor sites. En dat wil ik niet!
Met citaat reageren
Oud 02-08-2003, 18:51
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
Dr HenDre schreef op 02-08-2003 @ 18:57:
tja, ik ben eenmaal met cpp begonnen, een aantal maanden geleden. En om nou over te stappen op java.....lijkt me geen goed plan. Bovendien is java geheugenslurpend Maar kun je dan misshien een paar voordelen van java geven, dat ik may be toch overstap(denk eik niet maar je weet het maar nooit)
Geheugenslurpend? Nja, de VM ja, maar dat is constant. Valt erg mee hoor.

Voordeel voornamelijk dat het makkelijker is (duidelijke foutmeldingen en geen geheugenbeheer), het een grote duidelijke en eenduidige API heeft, en het een veel striktere OO taal is. Java is voor beginners gewoon veel beter.
Met citaat reageren
Oud 02-08-2003, 18:52
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
niemand schreef op 02-08-2003 @ 18:57:
Best een goed idee ja.
PHP kan ook, maar daarin word een interactive client toch al lastig.
Mwoa. PHP is toch vooral een scripttaal, niet erg geschikt om een server applicatie te maken.
Met citaat reageren
Oud 03-08-2003, 10:59
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
en in hoeverre verschilt de syntax van cpp en java? Kun je misshien een klein voorbeeld geven van een java prog?
Met citaat reageren
Oud 03-08-2003, 11:27
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
Dr HenDre schreef op 03-08-2003 @ 11:59:
en in hoeverre verschilt de syntax van cpp en java? Kun je misshien een klein voorbeeld geven van een java prog?
Weinig, lijkt eigenlijk sprekend op mekaar:

Code:
public class HelloWorld 
{
   public static void main(String[] argv) 
   {
        System.out.println("Hello world!");
   }
}
Met citaat reageren
Oud 03-08-2003, 16:03
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
Chimera schreef op 03-08-2003 @ 12:27:
Weinig, lijkt eigenlijk sprekend op mekaar:

Code:
public class HelloWorld 
{
   public static void main(String[] argv) 
   {
        System.out.println("Hello world!");
   }
}
hmm, ik neem uit je voorbeeld aan dat je per se OO moet programmeren? en zijn de woorden public en static verplicht bij void main() of is dat optioneel?
En nog een vraag, lijkt java meer op c(++) of op C#? Want ik wil eigenlijk uiteindelijk naar C#, maar toen ik met c++ begon wist ik daar nog niets van af. Maar voorzover ik weet lijkt java meer op c# dan op c(++)?
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 16:34.