전체 글 354

[Unity3D/Android] Unity에서 Android 모듈 사용하기(.jar 대신 .aar 사용)

문제 : Unity에서 .jar 파일을 사용함에 있어서 resource 문제 발생. - Android Studio로 블루투스 모듈을 프로그래밍한 후 .jar 파일로 추출 - 블루투스 모듈은 페어링 목록을 불러오기 위한 Activity를 사용하도록 구현되어 있음. - 추출한 .jar 파일을 Unity에서 사용했을 시 다음과 같은 에러를 보게 됨. (앱 실행 중지됨) java.lang.NoClassDefFoundError: Failed resolution of: Lcom/teraphonia/bluetoothforunity/R$layout Android 프로젝트에는 res/layout 폴더에 activity xml 파일이 들어 있는데, Unity에서 사용하려니 찾을 수 없어서 생기는 에러다. 그래서 고민하던 ..

게임/Unity3D 2017.09.23

[Unity/Android] Unity Bluetooth on Android with making Java Plugin

참고 :http://sillyknight.tistory.com/27http://yeonhong.blogspot.kr/2015/04/unity3d-native.htmlhttp://blog.naver.com/PostView.nhn?blogId=linegamedev&logNo=220104074319 1) 새로운 Unity Project를 생성한다. 2) 유니티 프로젝트 폴더에 Android Studio Project를 생성한다.-> 어차피 Library 모듈 프로젝트만 사용할 것이므로 그냥 다 확인 눌러서 만든다. 3) new -> module 해서 Android Library 프로젝트를 생성한다. -> 난 bluetoothforunity 라고 지었당.-> 패키지명 자유롭게 짓는다. 4) Unity 안드로이드..

게임/Unity3D 2017.09.18

[Firebase] Web hosting on Firebase 1. 호스팅 해 보기.

Github를 이용해서 블로그처럼 간단하게 한번 만들어 볼까 하며 찾아보다가 DB를 쓸 수 없다는 게 좀 안타까워서 알아보던 중 Google의 Firebase라는 서비스를 알게 되었다. 기본적으로 무료로 시작할 수 있고, DB도 제공해 주고, 대용량 파일 저장소도, Analitics 기능도 있고.. 이것저것 지원해 주니까 좋아 보인다. 한번 사용해 봐도 좋을 듯 싶다. 자세한 것은 차차 알아봐야겠다. 대략적으로는 http://cocomo.tistory.com/487 이 글을 참고해서 알아보았다. 개발환경- nodejs npm이 설치되어 있어야 함- nodejs express 사용 시작1. Firebase 접속해서 프로젝트 추가- 프로젝트 이름 짓고 나라 설정 2. Firebase CLI 설치 - 이걸 설..

Firebase 2017.08.17

[Network] TCP가 UDP보다 빠를 수도 있다...?

TCP는 PMTUD 기능으로 Fragmentation이 절대 일어나지 않는 최소 MTU를 가지는 경로를 탐색해, 최소 MSS 정보를 교환한다. 이 경우 최적의 보장된 경로를 마련해 놓고 통신하는 것이다. UDP는 이러한 과정이 없고 매번 경로를 탐색하기 때문에, 네트워크 경로 선택을 극혐으로 하는 경우가 많을 수 있는 환경이라면 UDP 극혐경로로 전송 + Fragmentation하는 시간 > TCP handshake, timeout, etc ... 시간 이 되는 경우라면 UDP가 더 느릴지도 몰라... 어디서 이 말을 들어서 하루종일 생각해 보았다.

Network/팁 2017.04.05

[UNP] Transport Layer에 대한 이야기

모든 것은 결국 Datagram 단위로 쪼개져 보내진다. TCP가 Stream 방식이지만, 이건 sequence number를 이용해 순서를 정해주는 방식이다. DSCP : 네트워크 트래픽에 서로 다른 수준의 서비스를 할당할 수 있도록 하는 IP 패킷의 한 필드 MTU(Maximum Transmission Unit) - 네트워크 Layer에서 Segment 없이 보낼 수 있는 최대 데이터그램 크기. 즉, 한 번에 보낼 수 있는 크기. - 하드웨어에 따라 값이 다르다. - 우리가 주로 사용하는 이더넷의 MTU 값은 1500이다. - MSS(Maximum Segment Size)는 MTU에 영향을 조금 받는다. MTU = MSS + IP Header + TCP HeaderMTU가 1500이라면, MSS = ..

[UNP] SCTP Association Establishment and Termination

SCTP는 Connection-Oriented(연결 기반) 통신이다. 그래서 SCTP 또한 Association establishment와 Termination에 대한 Handshake를 한다. Four-Way handshake시나리오는 TCP와 비슷하다. SCTP association이 establish되면 알 수 있다. 1. Server는 들어오는 Association을 받을 준비를 해야 한다. 이 준비는 일반적으로 socket, bind, listen을 사용하는 것으로 이루어 지고, 이것이 Passive Open 과정이다. 2. Client에서 connect를 호출하거나, 암묵적으로 association을 open하는 message를 보내면서 Active Open을 하게 된다.Client SCTP가..

[Unix Network Programming] TIME_WAIT State

MSL(Maximum Segment Lifetime) 만약 TCP 자체를 구현해야 한다면, MSL 값을 반드시 세팅해 주어야 한다. RFC1122 : 2분. Berkeley-derived version : 30초. MSL은 IP Datagram이 Network에 존재할 수 있는 최대시간이다. original url : https://ko.wikipedia.org/wiki/Time_to_live TTL(Time To Live) & 홉 리미트(hop limit)인터넷 프로토콜에서 TTL은 8비트 크기의 필드이다. IPv4 헤더에서 TTL은 20 옥텟 중 8번째 옥텟이며, IPv6 헤더에서는 40 옥텟 중 8번째 옥텟이다. TTL의 최댓값은 단일 옥텟의 최댓값에 해당하는 255이다. 권장되는 초기값은 64이다..

[Unix Network Programming] Chapter 2.6 TCP Connection Establishment and Termination

1. 서버는 들어오는 새 연결을 Accept할 준비를 한다. (socket, bind, listen 호출)2. connect를 호출하여 open한다. Client는 SYN(synchronize segment : 서버에게 보낼 data의 sequence number)를 보낸다. 일반적으로 SYN과 함께 전송되는 데이터는 없다. 그저 IP Header / TCP Header / 여러가지 TCP 옵션들에 대한 정보가 포함된다.3. 서버는 클라이언트의 SYN에 응답하여 ACK를 보낸다. 또한, 보낼 데이터의 sequence number를 포함한 SYN을 보낸다. ' 이걸 하나의 segment에 담아 보낸다. 4. 마지막으로, 클라이언트는 서버의 SYN에 응답하여 ACK를 보낸다. TCP Options MSS 이..

반응형