win32APIでwinsockを利用しています。
サーバとクライアント1つずつであれば問題なく文字のやり取りができるのですが、
クライアントを複数にした場合のプログラムがわかりません。
WSAAsyncSelect関数を使用しており、
現在力づくで、acceptした時にsockの数を増やすような形(下記のような)感じなのですが、
これだとクラアントが10個になった時、10個書き他の処理も全部書き足す結果に…と思いました。
case WM_SOCKET:
switch (WSAGETSELECTEVENT(lParam)) {
//サーバ側。 case FD_ACCEPT: //クライアントからの接続許可。 len = sizeof(client); sock1 = accept(sock, (struct sockaddr *)&client, &len); sock2 = accept(sock, (struct sockaddr *)&client, &len); sock3 = accept(sock, (struct sockaddr *)&client, &len);
恐らく、acceptの時にできる新しいsocketは1つにまとめる方法があるのかと思いましたので、
そのような方法があれば教えてください。
また他にも良い方法があればご教授ください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。