| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| VerruecktesHuhn Super JLI'ler
 
  
 
 Anmeldedatum: 30.07.2002
 Beiträge: 492
 Wohnort: Stuttgart
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 26.04.2003, 09:00    Titel: winsock fragen |   |  
				| 
 |  
				| Hi, alle zusammen! Hab mal wieder nen paar Fragen, da ich mich nich allzusehr mit winsock befasst hab, was sich jetzt bemerkbar macht
   
 Also: Man muss ja für jede Connection ein Sockethandle haben? Also müsste ich, wenn meine Anwendung mehrere Client-Connections hat mehrere Sockethandles haben? Demzufolge müsst ich die Receive Funktion für jede Connection aufrufen? Das erscheint mir ein bissl stressig, deswegen frag ich lieber nochmal
  |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Hazel JLI MVP
 
  
  
 Alter: 40
 Anmeldedatum: 19.07.2002
 Beiträge: 1761
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 26.04.2003, 12:14    Titel: |   |  
				| 
 |  
				| Wenn du vom Server sprichst ist das korrekt(so haben wir das bei Scramble jedenfalls gemacht). _________________
 *click* Dabuu!?
 Twitter: http://twitter.com/Ollie_R
 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Daniel Mini JLI'ler
 
 
 
 Anmeldedatum: 15.08.2002
 Beiträge: 3
 Wohnort: Leichlingen
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 24.05.2003, 14:58    Titel: |   |  
				| 
 |  
				| Dat stimmt schon, aber du kannst es dir vereinfachen indem du eine einfache Socketklasse schreibst |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| abc_d JLI Master Trainee
 
  
 Alter: 35
 Anmeldedatum: 27.01.2003
 Beiträge: 615
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 24.05.2003, 15:08    Titel: |   |  
				| 
 |  
				| Ich war zu faul um ne Liste zu benutzen und hab Arrays benutzt (30 Handle und 30 bool varialben) das reicht _________________
 http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
 
 Never touch a running System - der Systemling
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| TheMillenium Dark JLI'ler
 
 
 
 Anmeldedatum: 21.07.2002
 Beiträge: 1427
 Wohnort: World
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 24.05.2003, 16:29    Titel: |   |  
				| 
 |  
				| recv musst du doch nur für die Clients aufrufen, die dir ne Message schicken... 
 Du musst halt einfach die fd_read Funktion dazu nutzen und damit abfragen, ob dir ein Client ne Message  geschickt hat, und wenn ja fragst du die dann halt mit recv ab.
  _________________
 The source of all power is in its destiny...
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| abc_d JLI Master Trainee
 
  
 Alter: 35
 Anmeldedatum: 27.01.2003
 Beiträge: 615
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 24.05.2003, 16:42    Titel: |   |  
				| 
 |  
				| Man weis ja nicht von wem man ne nachricht bekommen hat deshalb muss man alle abfragen, ich mach das so: 
  	  | Code: |  	  | 
 case FD_READ:
 //soviel durchgänge wie Clienten
 for(int z=0;z<AnzahlSocket;z++)
 {
 int ilen;
 char data[255];
 ilen=recv(ConnectingSocket[z],data,255,0);
 data[ilen]='\0';
 if(data[0]=='B'&& data[1]=='L' && data[2]=='D' && data[3]==':')
 {
 //Nachricht vom Client das er sich ausgelogt hat
 if(data[5]=='#' && data[6]=='1' && data[7]=='_' && data[8]=='0' && data[9]=='0')
 {
 //   MessageBox(hWnd,"Client hat sich ausgelogt","Client...",MB_OK);
 
 char EndString[256];
 sprintf(EndString,"Client hat sich ausgelogt");
 
 for(int y=0;y<AnzahlSocket;y++)
 {
 BLDSendMessage(ConnectingSocket[y],EndString,false);
 }
 //Fügt die Nachricht bei den eigenen Strings hinzu
 char AtServerMessage[255];
 sprintf(AtServerMessage,"Msg: %s",EndString);
 CharUmwandeln(AtServerMessage,strlen(AtServerMessage));
 
 SocketBelegt[z]=0;
 ConnectingSocket[z]=0;
 AnzahlSocket--;
 }
 //ansonst txt nachricht
 else
 {
 
 for(int y=0;y<AnzahlSocket;y++)
 {
 BLDSendMessage(ConnectingSocket[y],data,true);
 }
 
 data[0]='M';
 data[1]='s';
 data[2]='g';
 data[3]=':';
 CharUmwandeln(data,ilen);
 }
 }
 }
 
 
 | 
 _________________
 http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
 
 Never touch a running System - der Systemling
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |