C++ Windows フォーム アプリでタイマーを使用しています。WinSock2 を使用してサーバーから送信されたメッセージの受信を処理します。私のタイマーの現在のコードは、
private: System::Void tmrMessages_Tick(System::Object^ sender, System::EventArgs^ e) {
int ID;
char* cID = new char[64];
char* message = new char[256];
ZeroMemory(cID, 64);
ZeroMemory(message, 256);
if(recv(sConnect, message, 256, NULL) != SOCKET_ERROR && recv(sConnect, cID, 64, NULL) != SOCKET_ERROR)
{
ID = atoi(cID);
if (ID == 1)
{
lbxMessages->Items->Add("hello");
}
}
}
最初にテストして機能することを確認したかったので、リストボックスに変数を追加しませんでした。それは機能しますが、アプリが非常に遅くなり、ユーザー入力がまったく許可されなくなります。リストボックスが更新されていることを示していますが、私が言ったように、ウィンドウを移動したり、テキストボックスなどをクリックしたりすることはできません。なぜこれが起こっているのか、何か考えられることがあれば教えてください。
ありがとう。