public void RecevieStart()
{
while (true)
{
if (Server == null) continue;
if (Server.Connected == false) continue;
// 데이터 받을 변수
byte[] receiveData = ReceiveData(Server);
// 백그라운드워커는 한번에 하나씩만 실행 가능. 따라서 이벤트 핸들러를 새로 만들어 백그라운드워커 돌림
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(bgw1_RunWorkerCompleted);
worker.RunWorkerAsync(receiveData);
}
}
여기서 Server는 보내는 쪽과 연결되어 있는 소켓
Socket Server = null; 로 선언.
여기서 ReceiveData() 함수는 개인적으로 입맛에 맞게 만든 함수.
Server.ReceiveBegin( ......) 을 사용하는것과 크게 다를것이 없다.
여기서 백그라운드 워커는 받을 때 object sender 로 받는게 아니라 DoWorkEventArgs e.Argument 로 받는다.
댓글 없음:
댓글 쓰기