接続のIPアドレスを取得して、以前に接続したことがあるかどうかを確認する必要があります(以前に接続したことがあるが、もう接続されていない場合は、IPのリストと照合して、オフラインと表示されます)。(ノンブロッキングソケットを使用)
最初に受け入れずに IP を取得するにはどうすればよいですか。
///
case FD_ACCEPT:
int W;
for(W = 0;W <= ListView_GetItemCount(GetDlgItem(HwND,IDC_IPLIST));W++){
それで、リストビューに対してIPをチェックして、以前に接続したことがあるかどうかを確認します. ある場合は、前回使用していたのと同じソケット番号を使用したいと思います。
これが私が今接続を受け入れる方法です
case FD_ACCEPT:
while(Client[F] != NULL)
{
F++;
}
Client[F]=accept(wParam,(LPSOCKADDR)&ServAdr,&AdrLen);
break;
だから分解して…
以前の接続の IP リストに対して着信接続を確認したいと考えています。このリストには、IP とそのオンライン/オフライン (接続済み/未接続) が含まれます。新しい接続を受け入れたときにオンラインと表示する前に接続した場合、新しい接続をすべて一緒に使用するのではなく、前回使用したのと同じソケット番号を使用します。そうでない場合は、リストに追加したいと思います。(リストにはソケット番号が含まれます)
これがあまり意味をなさない場合は、もう少し明確にしようとします。