掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
マルチスレッドのサーバから,クライアントに返信するには? (ID:56487)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お返事ありがとうございます 私もそれでできると思い,少々手を加えてみたのですがうまく行きませんでした. とりあえず基本に戻り1対1の通信のみをスレッドで行うつもりで以下のような変更をしたのですが class CServerDlg : CServerThread* thread; //とりあえずスレッドへのポインタを1個用意 //// 追加 //// LONG CServerDlg::OnNewString(WPARAM, LPARAM) { thread.SendString(〜); void CSubSock::OnReceive(int nErrorCode) { CString str; CSocketFile file(this); CArchive arIn(&file, CArchive::load); // CArchive arOut(&file, CArchive::store); //除外 do { arIn >> str; str.MakeReverse(); // arOut << str; //除外 }while(!arIn.IsBufferEmpty()); str.MakeReverse(); m_pCriticalSection->Lock(); *m_pLastString = str; ::PostMessage(AfxGetApp()->m_pMainWnd->m_hWnd, WM_RECEIVE, 0,0); m_pCriticalSection->Unlock(); CSocket::OnReceive(nErrorCode); } //// 追加した関数 //// void CSubSock::SendStirng(CString cs) { CSocketFile file(this); CArchive arOut(&file, CArchive::store); arOut << cs; } 実行したところ,接続自体はできるのですが,サーバはデータが送られてくるとエラーを起こして落ちてしまいます. 単なる記述ミスなのでしょうか?大変自分勝手ではありますがよろしくお願いします.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.