프로그래밍 QnA

운형의 이미지

황당한 경우

넷 필터를 이용해 삽질중에 발견한 건데요.

이거 어떻게 해석해야 할런지..

Quote:

tcp 6 431794 ESTABLISHED src=192.168.100.100 dst=192.168.100.0 sport=44097 dport=80 [UNREPLIED] src=192.168.100.0 dst=

cat /proc/net/ip_conntrack 의 결과중 일부입니다.
이걸 어떻게 해석해야 할런지...
redglim의 이미지

서버프로그램에서 실시간 모니터링 하려면..?

서버 프로그램이 돌아가고 있는 상태에서
상태를 실시간으로 간단한 모니터링을 하고 싶습니다.
예를 들면 현재 connect 되어 있는 user들의 리스트 같은
것을 볼 수 있게 말이죠..
이런 경우 보통 어떻게 해야 하는지요?
생각나는 방법은
1. accept 되고 close 될 때마다 파일에 실시간 기록 -.-;
2. user관리하는 쓰레드를 따로 두어 돌리고, 모니터링
클라이언트를 제작하여 서버에 접속, user리스트를 recv.

음 이정도인데 별로 효율적이어 보이진 않네요..

redglim의 이미지

서버프로그램 에서 파일 로그 남기기..

보통 서버 프로그램 짜실 때,
파일로그를 어떻게 남기시는 지 궁금합니다.

로그를 남길 때마다 파일을 열었다 닫았다 하려면
시간이 낭비 될것 같고,
시작할 때 파일을 한 번 열어서 계속 로그를 남기려니
멀티스레드 일경우 충돌이 우려되기도 하구요,
혹은 서버가 도는 중에 로그 파일을 건드리는 경우
서버데몬에 악영향을 줄 텐데요..

파일 로그를 남길때 어떻게 하는 것이 좋은 방법인지요?

webper81의 이미지

리눅스 맥킨토시 한글 인코딩에 관해서...

안녕하세요 다름이 아니라 맥킨토시와 리눅스의 한글 인코딩에

관하여 문의사항이 있어서 이렇게 글을 올립니다.

제가 개발하고 있는 환경은 리눅스에서 톰캣이 작동되고 있고

mac os x(10.3) pather 에서는 이미지 엔진이 작동되고있습니다.

그래서 이러한 이기종 환경에서 가장 문제가 되는 것이 한글 인코딩에 관한 것입니다.

예를 들면 리눅스에서 톰캣이 한글 jpeg파일을 하나 받았다면 한글.jpg라는

파일이 파일시스템에 저장되어 있을것입니다. 그래서 맥에서 nfs로 마운트

s97083의 이미지

사운드 프로그래밍

요즘 마이크로 입력을 받아서 그것을 전송하는 프로그램을 하고 있습니다.

쉽게 말해서 음성채팅이져... 영상 전송 부분은 다른 분이 구현을 했는데여

제가 다음과 같이 코딩을 해서 마이크로 데이터 입력을 받았습니다.

[code:1]
#ifdef SNDCTL_DSP_GETERROR
audio_errinfo errinfo;
if(m_audioSrcFrameNumber == 0) {
ioctl(m_audioDevice, SNDCTL_DSP_GETERROR, &errinfo);
} else {
ioctl(m_audioDevice, SNDCTL_DSP_GETERROR, &errinfo);
if(errinfo.rec_overruns > 0) {

김희상의 이미지

softirq 의 re-entrance ?

리눅스 커널에서, softirq는 여러개의 CPU에서 병렬로 수행될 수 있는걸로 아는데요,

Processor A  ----(call)------->  (Handler)
                          |
Processor B  ----(call)---+

와 같은 경우에서 ,
Processor A가 Handler를 수행하는 도중에 다른이유(interrupt 등)로 "Processor A"에서 다시 Handler로 재진입하는 경우가 있을 수 있나요?

즉, Handler에서 spin_lock 같은걸 써도 되냐는 거죠.. Handler 수행도중 같은 Processor에서 재진입이 일어난다면 spin_lock를 쓸 경우 deadlock이 발행할테니깐요..

leolo의 이미지

va_list 에 관해서...

대부분 stdarg.h 를 이용하던데, 저는 varargs.h 를 이용하려고 합니다.
그런데, stdarg.h를 사용하는 것과 varargs.h 사용하는데 사용하는
매크로의 형식이 다른가요?
예를 들어 va_start()의 인자 수가 다르거나...

variable argument 함수를 이용해서 문자열을 뽑아내고 있는데,
va_arg() 에서 마지막임을 알아내는 방법을 모르겠습니다.

------------------------------------------------------------------
void test1(va_alist)
va_dcl
{
va_list vaArgs;
char *args[100];
int nArgs = 0;

va_start(vaArgs);

ham의 이미지

솔라리스와 리눅스의 네트워 통신에서의 endian 문제

솔라리스와 리눅스의 통신프로그램을 만들고 있습니다.

다음과 같은 struct을 통해서 서버와 클라이언트는 통신을 하고 있구요

struct TEST_DATA
{
int code;
int id;
char name[20];
};

클라이언트 main코드는 다음과 같구요..

struct TEST_DATA data;

data.code=htonl(20);
data.id = htonl(-1);
data.name="hem hem hem";

그리고 sendto 로 데이타 struct을 보냅니다.

그런데 문제는 컴파일할때..
data.id = htonl(-1); 에서 에러가 남니다.
htonl 이 unsigned만 지원한다고 man페이지에 나옵다.

psjcap의 이미지

Thread 환경에서 안전하게 random값 구하기..

rand, srand, random 모두 thread unsafe하네요..
어떻게 하면 안전하게 랜덤 값을 구할 수 있을까요..

rand_r 이란 함수도 있던데..
int rand_r(unsigned int *seed);
요기서 seed 값을 기존처럼 time(NULL) 의 결과로 얻은 값으로 넣으려고 했으나..
time 함수가 Async signal safe란 알 수 없는 종류라서.. 사용하기가..

그럼 조언 부탁드리겠습니다..^__^"

페이지

프로그래밍 QnA 구독하기