프로그래밍 QnA

ljksky의 이미지

소켓을 NONBLOCK으로 열고 read() 사용시 에러 체크....??

클라이언트 소켓을 NONBLOCK으로 열었을때..

.
.
.
                read_size = read(server_sockfd, read_buf, sizeof(read_buf));

                if(read_size ==  -1) continue; //읽어올 데이타가 없을때
.
.
.

서버가 종료 했을 때에는 어떻게 알수 있나요.?

litwind의 이미지

sizeof() 를 함수내에서 할 때와 다른 함수에서 할 때...

int size(void *src)
{
   printf("in function: %d\n", sizeof(src));
   return 0;
}

int main()
{
   char a[7] = "abcdef";
   printf("in main: %d\n", sizeof(src));
   return 0;
}

이렇게 했더니..
결과가

in function: 4
in main: 7

이 나온네요.. 왜 그렇죠?

살자의 이미지

pthread_detach()에 대해..

pthread_detach()가 어떤 작업을 수행 하는지 이해가 되지 않습니다.
책에서는 연대가능하다는 말이 나오는데 무슨 뜻인지 모르겠습니다.
pthread_detach()어떤 작업을 하는지 알려주세요..
그럼 수고하세요..^^

sun1226의 이미지

proc 에서 linked list에 관한 질문입니다....꼭좀 부탁드립니다

m=m->next;
PCC-S-02201, Encountered the symbol "m" when expecting one of the following:

; returning,
The symbol ";" was substituted for "m" to continue.
위의 내용은 proc컴파일했을때 나타나는 에러인데요...이해가 되지 않는게..
전혀 문제가 없는것 같은데..자꾸 에러가 나와서 ...미치겠습니다...
소스를 간략하게 보여드린다면...

header에 선언되어있는 mib_head정보를 가지고 proc에서 사용..
참고로 mib_head정보는 server 모듈쪽에서 linked list로 만듬...
miblist *m;
m=NULL;
m=mib_head;

sun1226의 이미지

proc에서 insert에 관한 질문입니다.....꼭좀..

안녕하세요..다름이 아니오라...
두가지 질문을 드리겠습니다...한가지는 linked list로 되어있는 정보에서
head정보만 알면 while문에서 insert가 되지않는지..궁금하구요...
insert_mib(){
miblist *m;
m=NULL;
m=mib_head;
while(m->next){
EXEC SQL INSERT INTO server_mib values
(:m->num,:m->ip,:m->ifSpeed,:m->ifInOctets,:m-> sysUpTime)

m=m->next;
}
EXEC SQL COMMIT WORK RELEASE;
}
또 한가지는요...char str[256]으로 선언된 호스트배열을 insert할때는

pooshap의 이미지

시그널 함수 호출시 인자값 전달 문제.

먼저 소스를 적습니다.
------------------------------------------------------------
void alarm_handler(int); // 시그널 호출 함수 인자를 구조체로 선언을 어떻게 하는건지...

unsigned int pingtimeout_init(struct chat_client *client)
{
timeout_delay = atoi(DEFAULT_PING_TIMEOUT);

if(timeout_delay) {

signal(SIGALRM, alarm_handler);
alarm(timeout_delay);
}
return timeout_delay;
}

static void alarm_handler(int sig)
{
send_ping(struct chat_client *client); // 이부분을 위해서 구조체를 받아와야 합니다....

if(timeout_delay) {

laster40의 이미지

리눅스에서 게임서버 개발중입니다 /dev/poll에 대해서

/dev/poll에 대해서 여러 사이트를 통해서

그 성능과 ㅡ,.ㅡ 장점을 많이 봐왔습니다.

이번에 제가 개발중인 게임을 /dev/poll의 리눅스판 -,-a으로 해볼려고하니

쉽지 않네요

먼저 /dev/poll는 sun에서 지원하는것이고 이걸 리눅스에서 지원하게 해줄려면 커널을 패치해줘야하는걸로 알고있습니다. 2.4.18에서 기본적으로 설치되지 않은거 같더라구요

이거 어떻게 설치해줘야하는건지 궁금하구요 -,-;

기타 자세한 설명이 있는 싸이트나 책좀 추천부

illuza의 이미지

ps 명령어의 원리?

안녕하세요.

현재 shell에서 돌아가고 있는 프로그램의 pid나 cmd이러한 것들을
뽑아내고 싶습니다. 그래서 ps 명령어의 source를 뒤져봤는데 너무
막막합니다. ps가 단순한 건 줄 알았는데 이렇게 복잡한 것인지 처음
알았습니다.

대략적으로만 돌아가고 있는 process를 뽑아내는 방법을 가르쳐주실 수
없나요? 그렇게만 가르쳐주시면 나머지는 제가 알아서 찾아보겠습니다.

그럼 감사합니다.

skylandi의 이미지

배열 포인터 선언에 대한 질문입니다.

int (*ap)[3];
ap=(int (*)[3])malloc(sizeof(int)*2*3);


int a[100];
int (*ap)[10];
ap=(int (*)[10])a;

와의 차이점은 무엇입니다.

미리 감사합니다.

urmajest의 이미지

java에서..

'>>' operator는 쉬프트하고 빈 자리를 sign bit으로 채우고
'>>>' operator는 zero bit으로 채운다고 책에 나와있는데요

실험을 해보려고 간단한 프로그램을 작성해봤어요

short i = -8;
System.out.println( i >> 2);
System.out.println( i>>>2);

그런데 실행결과는 둘 다 -2 가 나오네요

왜 그렇죠?

-8 은 2s complement로 하면
11111111 11111000 이니깐

>>>2로 하면
00111111 11111110 이 되어서 이건 양수가 나와야 하는 것 아닌가요?

페이지

프로그래밍 QnA 구독하기