Unity http 서버 만 들 기

2227 단어 Unity
이전에 이런 문 제 를 고려 한 적 이 없다. 왜냐하면 웹 서 비 스 를 이용 하면 Nginx 나 다른 도 구 를 선택 할 것 이다. 그러나 이 프로젝트 에서 일부 조건 이 제한 되 어 더 이상 웹 서 비 스 를 구축 하지 않 을 것 이다.그래서 유 니 티 에 웹 서 비 스 를 만 들 수 있 을 까 하 는 생각 이 들 었 어 요.
       이론 적 인 측면 에서 볼 때 이렇게 간단 한 수 요 는 잘 실현 되 어야 하지만 바퀴 를 만 들 지 않 는 사상 에 따라 이 방면 의 플러그 인 이 있 는 지, 아니면 기 존의 코드 가 사용 할 수 있 는 지 살 펴 보 자.하지만 유 니 티 홈 페이지 와 일부 게시판 을 한 바퀴 돌 았 더 니 적용 할 만 한 도구 가 없 었 다.그래서 저 는 우회 전략 을 사용 하여 c \ # 에서 웹 서 비 스 를 구축 하고 플러그 인 으로 Unity 에서 사용 할 수 있 습 니까?답 은 긍정 적 이다.그래서 C \ # 중의 구축 방안 을 찾 았 는데 과연 찾 았 다.다시 한 번 어떤 큰 신의 생각 을 드 리 고 남 의 문 서 를 인용 하면 남 에 게 널리 보급 해 야 한다 (https://blog.csdn.net/qinyuanpei/article/details/51757148)。이 형 은 글 에 상세 하 게 쓰 여 있 고 github 에서 완전한 소스 코드 를 다운로드 할 수 있어 서 나 는 이미 승리 의 서광 을 보 게 되 어 매우 기쁘다.그의 주요 사고방식 은 웹 소켓 을 구축 하여 http 서비스 로 개조 하 는 것 이다.흥미 가 있 으 면 그의 문장 으로 옮 겨 자세히 살 펴 보 자.
       그 를 바탕 으로 나 는 HTTPServerLib 라 는 부분 을 조금 바 꾸 어 dll 을 만 들 었 다.유 니 티 에서 구체 적 으로 사용 하 는 방법 은 간단 합 니 다. 1 유 니 티 에서 Plugins 폴 더 를 만 들 고 이 dll 을 끌 어 옵 니 다.그리고 인용 하면 됩 니 다.여기에 나 는 내 가 사용 한 예 를 동봉 하 였 는데, 안 에는 각 줄 의 코드 에 대해 상세 한 설명 을 하 였 다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HTTPServerLib;
using System.Threading;

public class Tpsv : MonoBehaviour
{
    private string path ; //html    
    public string fileName;//html    

    Thread thread;//      
    // Start is called before the first frame update
    void Start()
    {
        path = Application.streamingAssetsPath + "/" + fileName + ".html";  //            html                 StreamingAssetsPath     
        thread = new Thread(new ThreadStart(sv)); //       
        thread.IsBackground = true;  //         
        thread.Start();  //    

        print(path);
    }

    MyServer myServer;
    /// 
    ///        
    /// 
    void sv()
    {
        myServer = new MyServer("0.0.0.0", 8080);  //         ,  ip       ,
        myServer.SetRoot(path);//         ,        
        myServer.Start(); //     
        print("  ");
    }

    private void OnDestroy()
    {
        myServer.Stop(); //     ,    
        thread.Abort();//    
        print("  ");
    }
}

 제 가 만 든 dll 도 글 에 올 려 서 다운로드 해 드릴 게 요.

좋은 웹페이지 즐겨찾기