본문 바로가기

Programing

(Android) CCTV 졸업작품으로 구현한 스마트폰의 영상을 실시간으로 서버로 스트림해서 서버에서 재생해주는 것을 드디어 구현했네요 ! 지금 화면은 스마트폰에서 모니터를 찍고 있는 장면이구요 저기 모니터 안에서는 스마트폰의 영상을 스트리밍 해서 재생하고 있는 화면입니다 한 삼개월 정도 이것만 붙잡고 산거 같은데 역시 개발의 즐거움은 수많은 디버깅 후에 완성된 작품을 볼땐거 같습니다~ ㅎㅎ 혹시 궁금한게 있으시면 댓글 달아주세요 ^^ 더보기
(C#) Semaphore Release Queue Q = new Queue(); //쓰레드형으로 큐 선언 private void enterRelease() { if (this.Q.Count > 0) //Q카운터가 0보다크면 Release 쓰레드를 풀어줌 { Thread tempThread = this.Q.Dequeue(); lock (tempThread) { Monitor.Pulse(tempThread); } } else { this.enternumber++; } } 큐 카운터가 0보다 크면 tempThread 에 큐에 들어있는 Thread를 받고 Monitor를 이용해 tempThread를 다시 활성하 해준다 그리고 0 이거나 0보다 작으면 enternumber를 1 증가시켜 줍니다. 그리고 저 lock도 동기화 하는 방식인데 저렇게 해야 .. 더보기
(C#) FiFo Semaphore 예전에 설계시간에 FiFo 세마포어를 사용할일이 있어서 만든겁니다. C#에서는 기본적으로 세마포어를 제공해주는데 세마포어에서 Release 해줄때 순차적으로 릴리즈 해주는게 아니라 랜덤으로 나와서 몇일 고생하며 만든 기억 이 나네요~ 잘 쓰시길 바래요 Release 함수는 프로젝트를 열어봐야해서 다음에 시간되면 포스팅 하겠습니다 private void enterWait(object num) { Thread tempThread = null; int number = (int)num; if (enternumber > 0) { enternumber--; return; } else { tempThread = Thread.CurrentThread; this.Q.Enqueue(tempThread); lock (tem.. 더보기
DDNS란? DDNS란 DNS와 개념이 유사합니다. 유동ip주소를 고정ip처럼 서버로 사용할수 있게 만들어 주는 건데 DDNS서버에 유동ip를 저장하고 클라이언트는 DDNS 서버에 접속해서 해당 사용자의 유동ip주소를 돌려주는 형식으로 서비스 됩니다. iptime공유기의 경우에는 ddns서비스를 해준다고 하네요 더보기
mysql 이냐? maria db 냐? http://www.zdnet.co.kr/news/news_view.asp?artice_id=20140523172758&type=xml 여기를 참조하시면 될듯... maria db는 mysql과 거의 동일한 환경이라고 하네요 더보기
android 하단 버튼 xmlns:android="http://schemas.android.com/apk/res/android"       android:layout_width="fill_parent"       android:layout_height="fill_parent"       android:orientation="vertical">             android:orientation="horizontal"                 android:layout_width="fill_parent"                 android:layout_height="wrap_content"                 android:layout_weight="0.1">            android:id="@.. 더보기
android xml 주석달기 더보기
android intro 페이지 설정 setContentView(R.layout.intro); //설정하고자 하는 intro page Handler handler = new Handler(); handler.postDelayed(new Runnable(){ public void run(){ startActivity(new Intent(intro.this, MainActivity.class)); finish(); } },2000); //2초후에 매인 엑티비티 실행 매인패스트 설정 더보기
Toolkit.getDefaultToolkit() 이미지 갱신 Toolkit.getDefaultToolkit() 를 이용해서 이미지를 얻어와서 연속된 이미지를 출력하는 작업을 하고 있었는데 toolkit을 이용하면 파일이 갱신이 되도 예전 이미지를 출력해버린다 그래서 ImageIo를 이용해서 이미지를 얻어왔는데 제대로 된다... 하 먼짓한거지 삽질삽질.. 더보기
Java 다중 Server Class class WhileReceiver extends Thread{ public void run(){ ServerSocket serverSocket = null; Socket socket = null; try{ serverSocket = new ServerSocket(9889); System.out.println("서버 소켓 포트번호 9889 생성"); while(true){ socket = serverSocket.accept(); System.out.println("클라이언트 연결 대기중"); } }catch(IOException e){ e.printStackTrace(); } } } main에 WhileReceiver wr = new WhileReceiver(); wr.start(); 그리고 저기 와일문.. 더보기