<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Socket Programm laggt brutal]]></title><description><![CDATA[<p>hi,<br />
hier der Client:( bzw nur dei Dialogprozedur)</p>
<pre><code class="language-cpp">case WM_INITDIALOG:
	     _beginthread(Thead, 0, 0); // sehr kleine aufgabe
	  	 if(WSAStartup(MAKEWORD(2,0), &amp;wsa) != 0)
		 {
	         MessageBox(0, TEXT(&quot;Winsock konnte nicht gestartet werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }

	     s = socket(AF_INET, SOCK_STREAM, 0);
		 if(s == INVALID_SOCKET) 
		 {
	         MessageBox(0, TEXT(&quot;Socket konnte nicht erstellt werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }

		 memset(&amp;addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten 
		 addr.sin_family=AF_INET;
		 addr.sin_port=htons(40791); // wir verwenden mal port 40791
		 rc=getAddrFromString(&quot;hostname&quot;,&amp;addr);
		 if(rc==SOCKET_ERROR)
	     {
	         MessageBox(0, TEXT(&quot;IP konnte nicht aufgelöst werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
	     }
    	 if(connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR)) == SOCKET_ERROR) 
		 {
	         MessageBox(0, TEXT(&quot;Konnte nicht verbinden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }
		 return TRUE;

	case WM_COMMAND:
		 switch(LOWORD(wParam))
		 {
		 case IDC_BUTTON1:
			  if(lstrlen(szNick) != 0)
			  {
			  GetDlgItemText(hDlg, IDC_EDIT1, szBuffer, 10000); // speichert Text aus Editfeld1
			  if(lstrlen(szBuffer) != 0)
			  {
			      strcat(szOutput, szBuffer);				  
				  SetDlgItemText(hDlg, IDC_EDIT2, szOutput);	
				  strcat(szOutput, TEXT(&quot;\r\n&quot;));	
				  strcat(szOutput, szNick);	
				  strcat(szOutput, TEXT(&quot;:\r\n&quot;));	
				  SetDlgItemText(hDlg, IDC_EDIT1, TEXT(&quot;&quot;));
			  }
			  }
			  else
			      MessageBox(0, TEXT(&quot;Kein Nickname ausgewählt&quot;), szAppName, MB_ICONERROR);
			  return TRUE;

		 case IDC_EDIT1:
			  return TRUE;

		 case IDC_EDIT3:
			  GetDlgItemText(hDlg, IDC_EDIT3, szNick, 40);
			  strcpy(szOutput, szNick);
			  strcat(szOutput, TEXT(&quot;:\r\n&quot;));
			  return TRUE;

		 case IDCANCEL:
			  EndDialog(hDlg, 0);
			  return TRUE;

		 }
		 return TRUE;

	}
	return FALSE;
}
</code></pre>
<p>Und der Server:</p>
<pre><code class="language-cpp">switch(message)
	{
	case WM_INITDIALOG:
	     _beginthread(Thead, 0, 0); // sehr kleine aufgabe
	  	 if(WSAStartup(MAKEWORD(2,0), &amp;wsa) != 0)
		 {
	         MessageBox(0, TEXT(&quot;Socket konnte nicht gestartet werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }

	     acceptSocket = socket(AF_INET,SOCK_STREAM,0);
	     if(acceptSocket==INVALID_SOCKET)
		 {
	         MessageBox(0, TEXT(&quot;Socket konnte nicht erstellt werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }

		 memset(&amp;addr,0,sizeof(SOCKADDR_IN));
		 addr.sin_family=AF_INET;
		 addr.sin_port=htons(40791);
		 addr.sin_addr.s_addr=INADDR_ANY;

	     if(bind(acceptSocket,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR_IN)) == SOCKET_ERROR)
		 {
	         MessageBox(0, TEXT(&quot;Socket konnte nicht gebindet werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }

		 if(listen(acceptSocket,10)==SOCKET_ERROR)
		 {
	         MessageBox(0, TEXT(&quot;listen ist fehlgeschlagen&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }

		 connectedSocket=accept(acceptSocket,NULL,NULL);
		 if(connectedSocket==INVALID_SOCKET)
		 {
	         MessageBox(0, TEXT(&quot;Socket konnte nicht akzeptiert werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }
		 return TRUE;

	case WM_COMMAND:
		 switch(LOWORD(wParam))
		 {
		 case IDC_BUTTON1:
			  if(lstrlen(szNick) != 0)
			  {
			  GetDlgItemText(hDlg, IDC_EDIT1, szBuffer, 10000); // speichert Text aus Editfeld1
			  if(lstrlen(szBuffer) != 0)
			  {
			      strcat(szOutput, szBuffer);				  
				  SetDlgItemText(hDlg, IDC_EDIT2, szOutput);	
				  strcat(szOutput, TEXT(&quot;\r\n&quot;));	
				  strcat(szOutput, szNick);	
				  strcat(szOutput, TEXT(&quot;:\r\n&quot;));	
				  SetDlgItemText(hDlg, IDC_EDIT1, TEXT(&quot;&quot;));
			  }
			  }
			  else
			      MessageBox(0, TEXT(&quot;Kein Nickname ausgewählt&quot;), szAppName, MB_ICONERROR);
			  return TRUE;

		 case IDC_EDIT1:
			  return TRUE;

		 case IDC_EDIT3:
			  GetDlgItemText(hDlg, IDC_EDIT3, szNick, 40);
			  strcpy(szOutput, szNick);
			  strcat(szOutput, TEXT(&quot;:\r\n&quot;));
			  return TRUE;

		 case IDCANCEL:
			  EndDialog(hDlg, 0);
			  return TRUE;

		 }
		 return TRUE;

	}
	return FALSE;
}
</code></pre>
<p>Beide Programme haben zur Laufzeit 50% der Prozessleistung(also zusammen 100)<br />
woran kann das liegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/221593/socket-programm-laggt-brutal</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 00:44:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/221593.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 01 Sep 2008 05:27:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Socket Programm laggt brutal on Mon, 01 Sep 2008 05:27:25 GMT]]></title><description><![CDATA[<p>hi,<br />
hier der Client:( bzw nur dei Dialogprozedur)</p>
<pre><code class="language-cpp">case WM_INITDIALOG:
	     _beginthread(Thead, 0, 0); // sehr kleine aufgabe
	  	 if(WSAStartup(MAKEWORD(2,0), &amp;wsa) != 0)
		 {
	         MessageBox(0, TEXT(&quot;Winsock konnte nicht gestartet werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }

	     s = socket(AF_INET, SOCK_STREAM, 0);
		 if(s == INVALID_SOCKET) 
		 {
	         MessageBox(0, TEXT(&quot;Socket konnte nicht erstellt werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }

		 memset(&amp;addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten 
		 addr.sin_family=AF_INET;
		 addr.sin_port=htons(40791); // wir verwenden mal port 40791
		 rc=getAddrFromString(&quot;hostname&quot;,&amp;addr);
		 if(rc==SOCKET_ERROR)
	     {
	         MessageBox(0, TEXT(&quot;IP konnte nicht aufgelöst werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
	     }
    	 if(connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR)) == SOCKET_ERROR) 
		 {
	         MessageBox(0, TEXT(&quot;Konnte nicht verbinden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }
		 return TRUE;

	case WM_COMMAND:
		 switch(LOWORD(wParam))
		 {
		 case IDC_BUTTON1:
			  if(lstrlen(szNick) != 0)
			  {
			  GetDlgItemText(hDlg, IDC_EDIT1, szBuffer, 10000); // speichert Text aus Editfeld1
			  if(lstrlen(szBuffer) != 0)
			  {
			      strcat(szOutput, szBuffer);				  
				  SetDlgItemText(hDlg, IDC_EDIT2, szOutput);	
				  strcat(szOutput, TEXT(&quot;\r\n&quot;));	
				  strcat(szOutput, szNick);	
				  strcat(szOutput, TEXT(&quot;:\r\n&quot;));	
				  SetDlgItemText(hDlg, IDC_EDIT1, TEXT(&quot;&quot;));
			  }
			  }
			  else
			      MessageBox(0, TEXT(&quot;Kein Nickname ausgewählt&quot;), szAppName, MB_ICONERROR);
			  return TRUE;

		 case IDC_EDIT1:
			  return TRUE;

		 case IDC_EDIT3:
			  GetDlgItemText(hDlg, IDC_EDIT3, szNick, 40);
			  strcpy(szOutput, szNick);
			  strcat(szOutput, TEXT(&quot;:\r\n&quot;));
			  return TRUE;

		 case IDCANCEL:
			  EndDialog(hDlg, 0);
			  return TRUE;

		 }
		 return TRUE;

	}
	return FALSE;
}
</code></pre>
<p>Und der Server:</p>
<pre><code class="language-cpp">switch(message)
	{
	case WM_INITDIALOG:
	     _beginthread(Thead, 0, 0); // sehr kleine aufgabe
	  	 if(WSAStartup(MAKEWORD(2,0), &amp;wsa) != 0)
		 {
	         MessageBox(0, TEXT(&quot;Socket konnte nicht gestartet werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }

	     acceptSocket = socket(AF_INET,SOCK_STREAM,0);
	     if(acceptSocket==INVALID_SOCKET)
		 {
	         MessageBox(0, TEXT(&quot;Socket konnte nicht erstellt werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }

		 memset(&amp;addr,0,sizeof(SOCKADDR_IN));
		 addr.sin_family=AF_INET;
		 addr.sin_port=htons(40791);
		 addr.sin_addr.s_addr=INADDR_ANY;

	     if(bind(acceptSocket,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR_IN)) == SOCKET_ERROR)
		 {
	         MessageBox(0, TEXT(&quot;Socket konnte nicht gebindet werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }

		 if(listen(acceptSocket,10)==SOCKET_ERROR)
		 {
	         MessageBox(0, TEXT(&quot;listen ist fehlgeschlagen&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }

		 connectedSocket=accept(acceptSocket,NULL,NULL);
		 if(connectedSocket==INVALID_SOCKET)
		 {
	         MessageBox(0, TEXT(&quot;Socket konnte nicht akzeptiert werden&quot;), szAppName, MB_ICONERROR);
			 SendMessage(hDlg, WM_COMMAND, IDCANCEL, 0);
		 }
		 return TRUE;

	case WM_COMMAND:
		 switch(LOWORD(wParam))
		 {
		 case IDC_BUTTON1:
			  if(lstrlen(szNick) != 0)
			  {
			  GetDlgItemText(hDlg, IDC_EDIT1, szBuffer, 10000); // speichert Text aus Editfeld1
			  if(lstrlen(szBuffer) != 0)
			  {
			      strcat(szOutput, szBuffer);				  
				  SetDlgItemText(hDlg, IDC_EDIT2, szOutput);	
				  strcat(szOutput, TEXT(&quot;\r\n&quot;));	
				  strcat(szOutput, szNick);	
				  strcat(szOutput, TEXT(&quot;:\r\n&quot;));	
				  SetDlgItemText(hDlg, IDC_EDIT1, TEXT(&quot;&quot;));
			  }
			  }
			  else
			      MessageBox(0, TEXT(&quot;Kein Nickname ausgewählt&quot;), szAppName, MB_ICONERROR);
			  return TRUE;

		 case IDC_EDIT1:
			  return TRUE;

		 case IDC_EDIT3:
			  GetDlgItemText(hDlg, IDC_EDIT3, szNick, 40);
			  strcpy(szOutput, szNick);
			  strcat(szOutput, TEXT(&quot;:\r\n&quot;));
			  return TRUE;

		 case IDCANCEL:
			  EndDialog(hDlg, 0);
			  return TRUE;

		 }
		 return TRUE;

	}
	return FALSE;
}
</code></pre>
<p>Beide Programme haben zur Laufzeit 50% der Prozessleistung(also zusammen 100)<br />
woran kann das liegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1574433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1574433</guid><dc:creator><![CDATA[Maxus]]></dc:creator><pubDate>Mon, 01 Sep 2008 05:27:25 GMT</pubDate></item><item><title><![CDATA[Reply to Socket Programm laggt brutal on Mon, 01 Sep 2008 07:43:17 GMT]]></title><description><![CDATA[<p>was soll das darstellen. nonblocking, asynchrone sockets etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1574468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1574468</guid><dc:creator><![CDATA[asdca]]></dc:creator><pubDate>Mon, 01 Sep 2008 07:43:17 GMT</pubDate></item><item><title><![CDATA[Reply to Socket Programm laggt brutal on Mon, 01 Sep 2008 12:20:14 GMT]]></title><description><![CDATA[<p>ja ich will vom client ne verbindung zum server machen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1574677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1574677</guid><dc:creator><![CDATA[Maxus]]></dc:creator><pubDate>Mon, 01 Sep 2008 12:20:14 GMT</pubDate></item></channel></rss>