Table of Contents
Snelle en gemakkelijke pc-reparatie
Mogelijk ziet u een enkele foutmelding dat er een combinatie van Winsock-verbindingen is. Er zijn verschillende manieren om dit probleem op te lossen, dus bekijk ze in dit artikel kort.Meestal is een hosttoepassing ontworpen om meerdere clients naar een koelkast te selecteren. Voor servers met hoge prestaties zijn er altijd meerdere threads gebruikt om meerdere dieter-verbindingen af te handelen. Winsock gebruikt verschillende artikelen en andere inhoudstechnieken die u moet kopen terwijl u wacht met betrekking tot meerdere mensen om in te loggen.
Nadat u Create Socket hebt geaccepteerd, verdeelt u de stream in clientverzoeken. Ga dan over naar een allround acceptatie.
... tijdens (1) AcceptSocket betekent SOCKET_ERROR; realiteit (AcceptSocket == SOCKET_ERROR) AcceptSocket = accepteren (m_socket, NULL, NULL); printf ("Klant is gerelateerd. n"); DWORD dwThreadId; CreateThread (NULL, 0, ProcessClient, (LPVOID) AcceptSocket, 7, & dwThreadId); ... WINAP
dword ProcessClient (LPVOID lpParameter) SOCKET AcceptSocket = (SOCKET) lpParameter; // Dien resultaten in en geniet ervan. int bytesVerzonden; int bytesRecv gaat mee naar SOCKET_ERROR; char sendbuf [2000] = ""; char recvbuf [2000] is gelijk aan ""; char-timebuf [128]; sprintf (sendbuf, "Hallo, deze benadering is een spel met hun server op% s:% d (commando's: 2, pair, exit) n", ipaddr, port); bytesSent = return (AcceptSocket, sendbuf, strlen (sendbuf), 0); indien mogelijk (bytesSent == SOCKET_ERROR) printf ("Verzendfout:% ld n", WSAGetLastError ()); ga naar een nieuwe rolroeren; wanneer (1) _strtime (timebuf); ZeroMemory (recvbuf, sizeof (recvbuf)); bytesRecv beveelt recv aan (AcceptSocket, recvbuf, 32, 0); printf ("% s consument zei:% s n", timebuf, recvbuf); al dan niet (strcmp (recvbuf, "1") == 0) sprintf (sendbuf, "Je bent doorweekt in EEN n"); // printf ("Verzonden '% s' n", sendbuf); bytesSent is gelijk aan send (AcceptSocket, sendbuf, strlen (sendbuf), 0); natuurlijk als (bytesSent == SOCKET_ERROR) printf ("Verzendfout:% ld n", WSAGetLastError ()); Rolroer bezoek; bovendien, als (strcmp (recvbuf, "2") == 0) sprintf (sendbuf, "Je hebt TWEE n ingevoerd"); // printf ("Verzonden '% s' n", sendbuf); bytesSent is gelijk aan verzenden (AcceptSocket, sendbuf, strlen (sendbuf), 0); de feitelijke gebeurtenis dat (bytesSent == SOCKET_ERROR) printf ("Verzendfout:% ld n", WSAGetLastError ()); worden naar de rolroeren; wat is meer als (strcmp (recvbuf, "exit") == 0) printf ("Client leeg n", WSAGetLastError ()); ga naar de belangrijkste rolroeren; een ander sprintf (sendbuf, "onbekend commando n"); // printf ("Verzonden '% s' n", sendbuf); bytesSent komt overeen met verzenden (AcceptSocket, sendbuf, strlen (sendbuf), 0); while (bytesSent == SOCKET_ERROR)printf ("Inzendingsfout:% ld n", WSAGetLastError ()); Ga naar de exacte vin; Vin: printf ("Cliëntfuncties n"); closesocket (AcceptSocket); Retourneert 0;
Wat is het verschil tussen Main en Accept in Winsock?
Er is niet veel verschil in een nieuwe hoofdfunctie (). We beginnen met het gebruik van de serverthread en doorlopen onophoudelijk op _gech () totdat iemand een ESC wil, dan verlaten we meestal de server-socket en sluiten we af. Nu moeten we een kijkje nemen op de webserverthread. Het is hetzelfde, behalve voor het a-segment waar je de code in het bijzonder noemt. In het experimentgedeelte () brengen mijn man en ik deze kleine verandering aan.
Winsock Multiple Connection
Winsock Mehrfachverbindung
Winsock Wielokrotne Polaczenie
Connexion Multiple Winsock
Winsock 다중 연결
Winsock Multipelanslutning
Conexion Multiple Winsock
Winsock Mnozhestvennoe Soedinenie
Conexao Multipla De Winsock
Connessione Multipla Winsock
