안녕하세요 아래 내가 좋아하는 내 서버에서 MSG를받을 수 있습니다 지금 내 코드HttpWebResponse가 서버에서 메시지를 기다리는 데 yield/coroutine을 필요로합니까?
public static string PUT (string url, string jsonStr){
string msg = "";
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "PUT";
ServicePointManager.Expect100Continue = false;
using (StreamWriter sw = new StreamWriter(httpWebRequest.GetRequestStream())){
sw.Write(jsonStr);
sw.Flush();
sw.Close();
}
try{
HttpWebResponse response = httpWebRequest.GetResponse() as HttpWebResponse;
using (StreamReader streamReader = new StreamReader(response.GetResponseStream()))
{
msg = streamReader.ReadToEnd();
}
}catch(WebException ex){
msg = ex.Message;
}
return msg;
}
입니다, 내 서버에 JSON 문자열을 보내도록 "PUT"요청을 구현하기 위해 노력하고 있습니다 "성공!" 꽤 짧습니다. 하지만이 방법을 coroutine으로 작성하고 "yield return response"또는 "yield return streamReader.EndofStream()"과 같이 모든 메시지가 서버에서 수신 된 후에 응답을 읽는지 확인해야하는지 궁금합니다.
고유 한 웹 요청 방법 인 Unity3D를 사용하고 있습니다. "UnityWebRequest"가 필요하므로 요청이 완료 될 때까지 "yield return unityWebRequest.send()"가 필요합니다. 그래서 내가 HttpWebRequest에 필요할 수도 있다고 생각하는 이유입니다.
당신은 HttpWebRe * 클래스를 사용하면 안됩니다. WWW 클래스 –
@cFrozenDeath를 사용해야합니다. UnityWebRequest와 WWW를 모두 시도했지만 작동하지 않습니다 (여전히 궁금합니다). 그래서 C#의 webRequest를 대신 사용합니다. – milanow
WWW 문제는 GET 및 POST 요청 만 받아 들일 수 있다는 것일 수도 있습니다. –