Table of Contents
Réparation PC rapide et facile
Vous pouvez voir un message d’erreur indiquant qu’il existe différentes connexions Winsock. Il existe plusieurs façons de résoudre ce problème, alors examinons-les sous peu.Généralement, une sorte d’application hôte est conçue pour connecter plusieurs clients à un réfrigérateur. Pour les serveurs hautes performances, plusieurs threads sont généralement utilisés pour gérer plusieurs connexions d’abuseurs. Winsock utilise plusieurs techniques de sujet différentes auxquelles vous devez vous habituer pendant que vous attendez que plusieurs personnes se connectent.
Après avoir accepté Create Socket, éclatez le flux en requêtes client. Passez ensuite à une nouvelle acceptation globale innovante.
... pendant (1) AcceptSocket signifie SOCKET_ERROR ; néanmoins (AcceptSocket == SOCKET_ERROR) AcceptSocket = accepter (m_socket, NULL, NULL); printf ("Le client est installé. n"); DWORD dwThreadId; CreateThread (NULL, 0, ProcessClient, (LPVOID) AcceptSocket, 6, & dwThreadId); ... WINAPI
dword ProcessClient (LPVOID lpParameter) SOCKET AcceptSocket = (SOCKET) lpParameter; // Soumettez des fichiers et profitez-en. int octetsEnvoyé ; int bytesRecv va jusqu'à SOCKET_ERROR ; char sendbuf [2000] = ""; char recvbuf [2000] implique "" ; char-timebuf [128]; sprintf (sendbuf, "Bonjour, cet excellent est un jeu avec chacun de nos serveurs sur% s:% d (commandes: just one, pair, exit) n", ipaddr, port); bytesSent = provide (AcceptSocket, sendbuf, strlen (sendbuf), 0); si possible (bytesSent == SOCKET_ERROR) printf ("Erreur de soumission : % ld n", WSAGetLastError ()); aller à une sorte d'ailerons ; quand (1) _strtime (timebuf); ZeroMemory (recvbuf, sizeof (recvbuf)); bytesRecv signifiera recv (AcceptSocket, recvbuf, 32, 0); printf ("% s client potentiel a dit:% s n", timebuf, recvbuf); si vous trouvez (strcmp (recvbuf, "1") == 0) sprintf (sendbuf, "Vous êtes connecté à UN n"); // printf ("Envoyé '% s' n", sendbuf); bytesSent est égal à send (AcceptSocket, sendbuf, strlen (sendbuf), 0); sans aucun doute si (bytesSent == SOCKET_ERROR) printf ("Erreur de soumission : % ld n", WSAGetLastError ()); Visite des ailerons ; normalement, if (strcmp (recvbuf, "2") == 0) sprintf (sendbuf, "Vous avez entré DEUX n"); // printf ("Envoyé '% s' n", sendbuf); bytesSent est égal pour vraiment envoyer (AcceptSocket, sendbuf, strlen (sendbuf), 0); incase (bytesSent == SOCKET_ERROR) printf ("Erreur de soumission : % ld n", WSAGetLastError ()); arriver aux ailerons; éventuellement même si (strcmp (recvbuf, "exit") == 0) printf ("Client malade et fatigué n", WSAGetLastError ()); allez à chacun de nos ailerons; un autre sprintf (sendbuf, "commande inconnue n"); // printf ("Envoyé '% s' n", sendbuf); bytesSent remplit send (AcceptSocket, sendbuf, strlen (sendbuf), 0); cependant , (bytesSent == SOCKET_ERROR)printf ("Erreur de soumission:% ld n", WSAGetLastError ()); Allez à chaque aileron; Ailette: printf ("Systèmes clients n"); closesocket (AcceptSocket); Renvoie 0 ;
Quelle est la différence entre Main et accept dans Winsock ?
Il n’y a pas beaucoup de différence dans la façon dont la fonction principale () fonctionne. Nous commençons et le thread du serveur et boucle constamment sur _getch () jusqu’à ce que quelqu’un soit entièrement un ESC, puis nous cherchons généralement le socket du serveur et sortons. Nous devons maintenant examiner de plus près le fil de discussion du serveur Web. C’est la même chose à l’exception du seul aspect où vous nommez simplement le code. Dans la partie expérience (), nous effectuons tous les deux ce petit changement.
Winsock Multiple Connection
Winsock Mehrfachverbindung
Winsock Wielokrotne Polaczenie
Winsock 다중 연결
Winsock Multipelanslutning
Conexion Multiple Winsock
Winsock Meerdere Verbinding
Winsock Mnozhestvennoe Soedinenie
Conexao Multipla De Winsock
Connessione Multipla Winsock
