본문 바로가기

Programing

(393)
Comet 부하테스트 NIO로 처리되는 톰캣 Comet은 일반 서블릿과 어떤 차이가 있을까?과연 처리당 스레드 생성하는 과거 모델에 비해 성능상 이점이 있는 것인가? 부하용 프로그램을 만들어서 접속을 증가해보았다.하지만 접속수가 2817에 이르러서는 JVM이 뻗어버렸다.2011. 10. 28 오전 11:11:07 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor run 심각: java.lang.OutOfMemoryError: Java heap space at java.lang.Throwable.getStackTraceElement(Native Method) at java.lang.Throwable.getOurStackTrace(Throwable.java:591) at java...
Comet 서블릿 처리하기 이벤트 타입org.apache.catalina.CometEvent.EventType 에서 4개의 타입을 정의하고 있다.획득법: CometEvent.getEventType()총 4가지 타입이다.CometEvent.EventType.BEGINCometEvent.EventType.READCometEvent.EventType.ENDEND일 경우 무한적으로 계속 발생을 하는데, CoemtEvent.close()를 호출해주면 더이상 END 이벤트가 발생하지 않는다.이상하게도 꼭 2번 호출이 된다.CometEvent.EventType.ERRORERROR일 경우에는 서브타입을 가지는데 그외(BEGIN, END, READ는?)에서 사용하면 NullPointerException이 날 수 있으니 주의 보통의 Comet 요청..
톰캣 - 이클립스에서 Comet 프로젝트 만들기 Dynamic Web Project를 생성 Java Resources에서 new 입력Java package: com.springnote.namoda.comet (자신이 사용하는 패키지로)Class Name: CometServlet Next>Servlet deployment descriptor:Description: Handling a basic Comet event (원하는 대로...)URL mappings : 원하는 대로... Methos체크를 모두 제거한다.Comet은 doGet, doPost를 사용하지 않고, event 메소드를 사용한다. Finish 처음 만들어진 템플릿 (CometServlet.java)package com.springnote.namoda.comet; import javax.se..
Socket (소켓) 프로그래밍 LinuxBeej's Guide to Network Programming (영문)인터넷 소켓 활용(v.1.5.4, 17-May-1998) (한글 번역)
SNMP - 래퍼 net-snmp 순수 C로 구현된 SNMP 라이브러리이다. 공식 웹사이트 : http://www.net-snmp.org 소스코드 수정 : 유니코드로 변경snmp_api.hsystem.hdata_list.hdefault_store.h 타입 재정의 문제types.h(81) : warning C4142: 형식이 재정의되었지만 심각하지는 않습니다.-> include/net-snmp/types.h#ifndef HAVE_SOCKLEN_Ttypedef u_int socklen_t;#endif하지만 윈속에 이미 타입 정의가 되어 있기에 충돌하는 것이다.Microsoft SDKs/Windows/v6.0A/Include/WS2tcpip.htypedef int socklen_t; 해결하는 가장 빠른 방법은 include 하는 위에 HAVE..
SNMP - 래퍼 SNMP Management SNMP Management API링크시 Mgmtapi.lib 포함 필요#pragma comment(lib, "MgmtAPI.Lib")WinSNMP API와 구별되는 API로 보임(StarUp과 CleanUp을 안해도 된다는 장점이 있음)단순히 값만 조회 할 경우에는 이 API들을 사용하는 것이 좋아보임 Utility API를 이용해야 할 필요성이 있음 SnmpMgrOpen Function - 특정 SNMP에이전트에게 통신을 하기 위해, 교신용 소켓들과 데이터 구조들을 초기화하는 함수SnmpMgrRequest Function - 특정 에이전트에게 명령을 요청하게 하는 함수request 함수에서 세 번째 인자인 SnmpVarBindList 구조체의 포인트(SnmpVarBind 배열의 포인트를 가지는)는 반..
SNMP - 래퍼 Rogério Paulo 쓸만한 WinSNMP Wrapper ClassSNMP - A C++ Wrapper for the WinSnmp libraryhttp://www.codeproject.com/KB/library/WinSNMPWrapper.aspx?display=Print 클래스 다이어그램까지 잘 만들어져 있다.실행파일, 프로젝트 파일 두 가지 형태로 배포되고 있는데, Visual Stdio 2003이 있다면 바로 컴파일해서 사용할 수 있다.주의할 점이 라이브러리는 알려진 버그와 콘솔이 뜨는 문제가 있다.알려진 버그불규칙하게 메모리 쓰기 오류문제 이 라이브러리를 사용하다 보면 불규칙적으로 메모리 충돌이 일어난다.(그런데 이상하게 Debug 모드로 컴파일하면 문제가 안 생기다가, Release 모드로 컴파일을 하면 문제가 발생..
SNMP 래퍼 클래스 회사에서 SNMP관련 프로그래밍을 할 일이 있었다.환경은 윈도우 /콘솔/서비스 프로그램과 C/C++기반 첫번째 사용한 것은 코드프로젝트에서 구한 'Rogério Paulo'의 SNMP Wrappe 클래스 이 래퍼 클래스는 확실히 잘 설계가 되었다. 하지만 사용하기가 조금 어렵고, 오래 사용을 하면 메모리 누수 문제가 있다.두번째 사용한 것은 내가 직접 WinSNMP API를 가지고 만든 것(현재) 결국 내가 직접 래퍼 클래스를 만들었다. 조회하려는 SNMP 에이전트의 주소와 OID를 넣으면 값을 가져오게 하는 방법으로 단순하게 바꾸었다. 하지만 약간 불안정한적인 면이 있어서 바꾸려고 하고 있다.세번째 지금 만들고 있는 것은 SNMP Management API를 가지고 만들고 있다.예전에 회사에서 사용했던..