가상현실 프로그래밍 12주차

2021. 12. 1. 22:46·학교수업
반응형

동일 port 사용하는 서버를 여러 개 실행시킬 수 없다.

 

서버는 클라이언트에서 데이터를 받아 모든 클라이언트에게 넘기기 때문에 어떤 클라이언트가 데이터를 주었는가를 알아야한다.

-> Broadcasting 구현을 통해 해결 => TcpClient 객체 사용

Thread 함수의 파라미터 전달을 위해 ParameterizedThreadStart객체 사용

 

C# generic collection

- List 객체는 array와 다리 동적으로 data를 추가, 삭제, 검색할 수 있다.

- Object 기반 collection은 요소에 접근할 때마다 형 변환 필요

-> 어떠한 type의 변수도 Add(기타연산)할 수 있다.

- Generic 기반 collection은 요소에 접근할 때마다 형 변환 필요 없다.

-> 선언시 정의한 type의 변수에 대해서만 Add(기타연산)할 수 있다.

 

connection 관리의 어려움

- 연결 open, close, error에 대한 관리 대책이 필요

- 주기적으로 socket이 연결 상태인지 체크 필요

- 비정상 종료에 대한 처리 필요

-> 다수 클라이언트가 동시 접속하는 경우 안정적으로 여러 클라이언트 소켓을 관리하는 것이 어렵다.

 

WebSocket

- Web기반 Socket 프로그래밍 프레임워크

- TCP socket과 비슷하게 데이터를 주고 받으며 Polling 보다 자유롭게 데이터 전송 가능

- Websocket을 지원하는 브라우저가 적다.

- 브라우저 상관없이 웹에서 실시간 데이터 처리를 위해 socket.io 제공

- 데이터 주고 받기위한 메세지 규약 제공

- 연결 유지를 위한 핑퐁 등과 같은 socket 연결 기본 기능 구현

- 서비스 개발자는 실시간 데이터 처리만 집중할 수 있다.

-> 서버 구현이 단순, 클라이언트 전용 유니티와 Web으로 구현 가능

 

socket.io 주요 함수

1. listening

-> io.attach(4567);

2. 클라이언트 접속 이벤트

-> io.on('connection', function(socket){...});

3. Socket 이벤트

-> socket.on('chat message', function(msg){...});

4. 데이터 전송

-> io.emit('chat message', msg); // 접속한 모든 클라이언트에 전송

-> 데이터 전송시 JSON(JavaScript Object Notation) 포맷 사용

 

Socket.IO는 데이터 전송을 위해 JSON포맷 사용

-> 속성-값 쌍을 사용해 데이터 오브젝트를 전달하기 위한 개방형 표준

-> 단순 변수와 복합 변수를 표현할 수 있음.

반응형
저작자표시 (새창열림)

'학교수업' 카테고리의 다른 글

정보보호개론 13주차  (0) 2021.12.04
가상현실 프로그래밍 13주차  (0) 2021.12.03
임베디드 기초 12주차  (0) 2021.11.30
정보보호개론 12주차  (0) 2021.11.27
임베디드 기초 11주차  (0) 2021.11.27
'학교수업' 카테고리의 다른 글
  • 정보보호개론 13주차
  • 가상현실 프로그래밍 13주차
  • 임베디드 기초 12주차
  • 정보보호개론 12주차
숯불돼지왕갈비
숯불돼지왕갈비
  • 숯불돼지왕갈비
    게임 개발 공부기
    숯불돼지왕갈비
  • 전체
    오늘
    어제
    • 분류 전체보기 (302)
      • 학교수업 (165)
      • 취업강의 (6)
      • C++ (49)
        • 코딩 테스트 (4)
      • Unreal Engine 5 (25)
        • MMORPG 개발 (25)
      • Unreal Engine 4 (44)
        • Omak Project (3)
        • Unreal Engine 4 개발일지 (9)
        • Unreal Engine 4 (32)
      • Unity (1)
        • 개발 일지 (1)
      • 수학 (3)
        • 소프트웨어 공학용 수학 (3)
      • DirectX 11 (4)
      • 게임 디자인 패턴 (2)
      • 포트폴리오 (1)
      • 자격증 (1)
        • 정보처리기사 (0)
        • SQLD (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
숯불돼지왕갈비
가상현실 프로그래밍 12주차
상단으로

티스토리툴바