コード例 #1
0
ファイル: Packet.cs プロジェクト: jongwony/NetworkProgramming
        //
        public bool Deserialize(ref MatchingRequest element)
        {
            if (GetDataSize() == 0)
            {
                // 데이터가 설정되지 않았다.
                return(false);
            }

            bool ret = true;

            // 버전 정보
            ret &= Deserialize(ref element.version);

            // 요청 내용
            int request = 0;

            ret            &= Deserialize(ref request);
            element.request = (MatchingRequestId)request;

            // 응답 방 ID
            ret &= Deserialize(ref element.roomId);

            // 방 이름
            ret &= Deserialize(ref element.name, MatchingRequest.roomNameLength);

            return(ret);
        }
コード例 #2
0
 private void Awake()
 {
     DontDestroyOnLoad(this.gameObject);
     base.Awake();
     if (Instance == null)
     {
         Instance = this;
     }
 }
コード例 #3
0
 private void MakeRequestInstance()
 {
     makeIDRequest            = new MakeIDRequest();
     matchingRequest          = new MatchingRequest();
     settingConfirmRequest    = new SettingConfirmRequest();
     changeToSettingUIRequest = new ChangeToSettingUIRequest();
     changeToCommentUIRequest = new ChangeToCommentUIRequest();
     addressToGeometryRequest = new AddressToGeometryRequest();
     countNogashiTimesRequest = new CountNogashiTimesRequest();
     likeFightSendRequest     = new LikeFightSendRequest();
 }
コード例 #4
0
ファイル: Packet.cs プロジェクト: jongwony/NetworkProgramming
        // 1바이트 불리언에 저장
        // MatchingRequest 구조체 순서대로 시리얼라이즈 한다.
        // 하나라도 시리얼라이즈가 false가 되면 순서에 어긋나므로 패킷을 버린다
        public bool Serialize(MatchingRequest packet)
        {
            bool ret = true;

            ret &= Serialize(packet.version);
            int request = (int)packet.request;

            ret &= Serialize(request);
            ret &= Serialize(packet.roomId);
            ret &= Serialize(packet.name, MatchingRequest.roomNameLength);

            return(ret);
        }
コード例 #5
0
    void RequestSearchRoom(int roomId)
    {
        MatchingRequest request = new MatchingRequest();

        request.request = MatchingRequestId.SearchRoom;
        request.version = NetConfig.SERVER_VERSION;
        request.name    = "";
        request.roomId  = roomId;

        MatchingRequestPacket packet = new MatchingRequestPacket(request);

        network_.SendReliable <MatchingRequest>(serverNode, packet);
    }
コード例 #6
0
    //
    // 클라이언트 측 처리.
    //

    void RequestCreateRoom(string name)
    {
        MatchingRequest request = new MatchingRequest();

        request.request = MatchingRequestId.CreateRoom;
        request.version = NetConfig.SERVER_VERSION;
        request.name    = name;
        request.roomId  = -1;

        MatchingRequestPacket packet = new MatchingRequestPacket(request);

        if (network_ != null)
        {
            network_.SendReliable <MatchingRequest>(serverNode, packet);
        }
    }
コード例 #7
0
    void RequestStartSession(RoomContent room)
    {
        MatchingRequest request = new MatchingRequest();

        request.request = MatchingRequestId.StartSession;
        request.version = NetConfig.SERVER_VERSION;
        request.name    = room.roomName;
        request.roomId  = room.roomId;

        Debug.Log("Request start session[room:" + room.roomName + " " + room.roomId + "]");

        if (network_ != null)
        {
            MatchingRequestPacket packet = new MatchingRequestPacket(request);

            network_.SendReliable <MatchingRequest>(serverNode, packet);
        }
    }
コード例 #8
0
    void RequestJoinRoom(RoomContent room)
    {
        MatchingRequest request = new MatchingRequest();

        request.request = MatchingRequestId.JoinRoom;
        request.version = NetConfig.SERVER_VERSION;
        request.name    = "";
        request.roomId  = room.roomId;

        if (network_ != null)
        {
            MatchingRequestPacket packet = new MatchingRequestPacket(request);

            network_.SendReliable <MatchingRequest>(serverNode, packet);
        }

        string str = "RequestJoinRoom:" + room.roomId;

        Debug.Log(str);
    }
コード例 #9
0
        //
        public bool Deserialize(ref MatchingRequest element)
        {
            if (GetDataSize() == 0)
            {
                // 데이터가 설정되어 있지 않습니다.
                return(false);
            }

            bool ret = true;

            ret &= Deserialize(ref element.version);

            int request = 0;

            ret            &= Deserialize(ref request);
            element.request = (MatchingRequestId)request;

            ret &= Deserialize(ref element.roomId);
            ret &= Deserialize(ref element.name, MatchingRequest.roomNameLength);
            ret &= Deserialize(ref element.level);

            return(ret);
        }
コード例 #10
0
ファイル: MatchingServer.cs プロジェクト: wyuurla/006772
    //
    // 패킷 수신 처리.
    //

    void OnReceiveMatchingRequest(int node, byte[] data)
    {
        MatchingRequestPacket packet  = new MatchingRequestPacket(data);
        MatchingRequest       request = packet.GetPacket();

        string str = "ReceiveMatchingRequest:" + request.request;

        Debug.Log(str);

        if (request.version != NetConfig.SERVER_VERSION)
        {
            Debug.Log("Invalid request version.");
            // 다른 버전의 헤더는 폐기합니다.
            Debug.Log("Current ver:" + NetConfig.SERVER_VERSION + " Req ver:" + request.version);
            return;
        }

        switch (request.request)
        {
        case MatchingRequestId.CreateRoom: {
            CreateRoom(node, request.name, request.level);
        }       break;

        case MatchingRequestId.SearchRoom: {
            SearchRoom(node, request.roomId, request.level);
        }       break;

        case MatchingRequestId.JoinRoom: {
            JoinRoom(node, request.roomId);
        }       break;

        case MatchingRequestId.StartSession: {
            StartSession(node, request.roomId);
        }       break;
        }
    }
コード例 #11
0
ファイル: MatchingClient.cs プロジェクト: fotoco/006772
	void RequestStartSession(RoomContent room)
	{
		MatchingRequest request = new MatchingRequest();
		
		request.request = MatchingRequestId.StartSession;
        request.version = NetConfig.SERVER_VERSION;
        request.name = room.roomName;
		request.roomId = room.roomId;
		request.level = -1;

		Debug.Log("Request start session[room:" + room.roomName + " " + room.roomId + "]");

		if (network_ != null) {
			MatchingRequestPacket packet = new MatchingRequestPacket(request);
		
			network_.SendReliable<MatchingRequest>(serverNode, packet);
		}
	}
コード例 #12
0
ファイル: MatchingClient.cs プロジェクト: fotoco/006772
	void RequestJoinRoom(RoomContent room)
	{
		MatchingRequest request = new MatchingRequest();
		
		request.request = MatchingRequestId.JoinRoom;
        request.version = NetConfig.SERVER_VERSION;
        request.name = "";
		request.roomId = room.roomId;
		request.level = -1;

		if (network_ != null) {
			MatchingRequestPacket packet = new MatchingRequestPacket(request);
		
			network_.SendReliable<MatchingRequest>(serverNode, packet);
		}

		string str = "RequestJoinRoom:" + room.roomId;
		Debug.Log(str);
	}
コード例 #13
0
ファイル: MatchingClient.cs プロジェクト: fotoco/006772
	void RequestSearchRoom(int roomId, int level) 
	{
		MatchingRequest request = new MatchingRequest();

		request.request = MatchingRequestId.SearchRoom;
        request.version = NetConfig.SERVER_VERSION;
		request.name = "";
		request.roomId = roomId;
		request.level = level;

		MatchingRequestPacket packet = new MatchingRequestPacket(request);
		
		network_.SendReliable<MatchingRequest>(serverNode, packet);
	}
コード例 #14
0
ファイル: MatchingClient.cs プロジェクト: fotoco/006772
	//
	// 클라이언트 측 처리.
	//

	void RequestCreateRoom(string name, int level)
	{
		MatchingRequest request = new MatchingRequest();

		request.request = MatchingRequestId.CreateRoom;
		request.version = NetConfig.SERVER_VERSION;
		request.name = name;
		request.roomId = -1;
		request.level = level;

		MatchingRequestPacket packet = new MatchingRequestPacket(request);

		if (network_ != null) {
			network_.SendReliable<MatchingRequest>(serverNode, packet);
		}
	}
コード例 #15
0
        public async Task <MatchingResponse> Post([FromBody] MatchingRequest request, [FromQuery] bool addTestData)
        {
            var response = await _service.Simulate(request, addTestData);

            return(response);
        }