req.BeginGetRequestStream(new AsyncCallback(WriteCallback), state);
이렇게 접속되면 WriteCallback 걸리도록 해놓고..
private void WriteCallback(IAsyncResult result)
{
UploadState state = (UploadState)result.AsyncState;
HttpWebRequest req = state.req;
Stream input = state.file;
Stream output = req.EndGetRequestStream(result);
Push(input, output);
output.Close();
input.Close();
req.BeginGetResponse(new AsyncCallback(ResponseCallback), req);
}
난 업로드만 하면 땡이라 BeginGetResponse를 안 썼는데..
이걸 안 쓰면 실제 접속도 안 일어나고.. 전송도 안 되고..
아니 보통 임의로 버퍼링을 하더라도 스트림 닫을 때는 Flush하는게 일반적인 동작 아니냐고..
예외도 없이 말짱하게 동작하는데 서버에서는 아무런 로그도 안 나오고..
이걸로 몇 시간을 날렸는지 ㅡㅡ...
소켓으로도 해볼라다가 실버라이트는 4502부터 4534 포트까지만
TCP 소켓 열리는걸 까먹고 8080으로 계속 삽질.. 미쳐




덧글