프로그래밍 QnA

yo-tteum의 이미지

프로세스를 강제로 kill하고 난 뒤 재실행시 open() 콜 실패

안녕하세요.

안드로이드 커널에서 소켓통신을 하는 데몬을 실행중입니다.

그런데 통신 상태가 이상하면 프레임워크에서 이 데몬을 kill하도록 되어 있습니다.

데몬은 내부적으로 소켓과 별도로 ttydevice를 open하여 사용중입니다.

그런데 데몬을 kill하고 데몬을 다시 실행하면 ttydevice에 대한 open시도가 실패합니다.

재시도 할 경우 열리고요. 아마도 데몬이 직접 close를 못해준 상태에서 프로세스가 종료되어서

그런것 같은데 파일을 열고 있는 상태에서 강제로 kill 당하고 바로 재실행 해서 해당 파일을 다시 open

하려 할 경우, 에러 없이 잘 열 수 있는 방법은 없을까요?

socket같은 경우 bind함수를 통해 이같은 현상을 어느정도 막을 수는 있습니다만, tty device파일에 대해서는

잘 모르겠네요.

어떠한 정보라도 감사히 받겠습니다.

도움 주셔서 감사합니다.

suldogagi의 이미지

자바로 된 클라이언트와 C로된 서버-클라이언트 모델에서요~~ 소켓데이타가 짤리는 현상에 대한 질문

자바로 짠 클라이언트와 C로짠 서버-클라이언트 모델에서요

테스트를 하고있는데

약 10KB의 데이타를 클라이언트가 전송했어요

그런데

서버에서 읽어들이면 8192 바이트만 읽어들이네요

나머지는 한번더 읽으면 읽혀집니다.

즉 클라이언트가 8192 로 짤라서 두번 전송한다는 얘긴데요

(사정상 tcpdump 를 뜰수가 없어서 추측입니다.)

만약에 TCP/IP프로토콜 상에서 나눠 전송했으면 어짜피 서버단에서 재조립되서 읽혀지니까

프로토콜이 나눠서 보내는거 같지는 않구요

자바로된 클라이언트가 내부적으로 특정 바이트만큼 짤라서 나눠 보내는거 같아요.

음 암튼

서버에서 한방에 10KB의 데이타를 읽고싶거든요

방법이 있습니까??

자바의 특성때문에 어쩔수 없는겁니까??

고수님들의 조언을 부탁합니다.

추신 - 클라이언트를 C 로 짜면 한방에 전송하는걸 확인했습니다.

유훈이의 이미지

[질문] 리눅스 커널 2.4에서~ 시계 프로그램을 만들 때 카운터를 어떤것을 사용해야 가장 정확할까요?

현재~

리눅스 제가 만든 리눅스 드라이버를 이용하여~!

장치에 날짜 및 시간을 띄울려고 하는데요^^;;

응용프로그램 작성중에~!

어떻게 시간을 흘러가게 할까? 고민하다~! 고수 프로그래머들이 모여있는 이곳에 질문을 해야겠다고 생각되어 왔습니다^^;;;

매 1초마다~ 값이 갱신되어야 하는데~ 이 매 1초를 카운터해줄~ 함수를 어떤것을 사용해야 할까요?

한달간 켜놓아도~ 1초의 오차도 없게 만들고 싶은데^^;;;

매번 카운터를 받고~ 현재 시간을 업데이트 해주는 루틴이 시간을 어느정도 잡아먹을테니;; 매번 조금씩 느려질거 같기도하고;;

(장치가 조금 후져서;;)

어떻게 해야할지 도움 주시면 감사하겠습니다^^~!

kealyung의 이미지

udp 소켓 관련하여 송신측 포트 번호를 지정하고 싶습니다.

안녕하세요..

udp 소켓을 사용하여 프로그램 테스트를 하고 있는데..

sendto를 하게 되면 자동으로 송신측 포트가 할당되어서 어떤 패킷을 보내는데..

제가 원하는건 sendto를 할때 송신측 포트를 지정을 하고 싶습니다.

어떻게 방법이 없을까요?

hyde1004의 이미지

[완료] Eclipse에서 헤더 파일 추가 후에도 type을 인식하지 못합니다.

안녕하세요.

Eclipse에서 C를 코딩하고 있습니다.
.c파일에서 제가 만든 type에 대해서 'Type 'XXXX' could not be resolved'가 나옵니다.
.h파일을 만들고 해당 type을 정의 후, include를 해주어도 type을 인지하지 못하네요.

추가로 어떤 설정이 필요할까요?
(나름 설정도 해보고 인터넷에서 확인하여 적용했는데도 마찬가지네요.)

sinwho의 이미지

[완료] C++ 좀 봐주세요...^^

만약 이런 문장이 있다고 했을때 아래 프로그램이 어떻게 실행되나요??

Arsize=10이라고 치고요

for(i=0;i {
1 cout << i+1 << ": ";
2 cin.get(temp, 80);
3 while(cin && cin.get() !='\n')
4 {cout << "contunue" << endl;
5 contune;}
6 if(!cin || temp[0] == '\0')
7 {cout << "temp" << temp << endl;
8 break;}
9 else
0 {cout << "else" < a sayings[i] = temp;}
}

숫자와 a는 임의로 붙인거고요
cout은 어떤 현상이 일어나는지 볼려고 넣은 겁니다.

fivestar의 이미지

병렬처리 질문 입니다

요즘 병렬처리에 관심이 많아
프로그램에 적용해보려고 하고 있습니다.

하지만 명확히 이해하지 못하여
아래와 같은 루틴에서 병렬처리를 할 경우 퍼포먼스가 향상될 지 조언좀 부탁드리겠습니다.

총 7개의 함수가 있으며 각각 동일한 데이터로 다른 처리를 하여
결과값이 있으면 리턴해 주며 총 7개의 함수의 리턴값을 더하는 부분 입니다.

저 7개의 함수의 처리가 오래걸려 병렬처리로 하고 싶은데 가능할까요?

하지만 생각해본 문제점이 wating 하는 부분 인데 각각 함수마다 처리되는 시간이 다를텐데 wait 해주는 기능이 있나요? openmp에서~

#pragma omp parallel for private(i) reduction(+:sum)
for( i=0 ; i< 5 ; i++)
{
sum+=함수1
sum+=함수2
sum+=함수3
.
.
.

}

ipes4579의 이미지

웹개발하시는 분들 조언부탁드립니다. ie6 도 염두에 두어야 할까요?

누구 부탁으로 잠시 웹개발을 하고 있는데요, M$ 의 Explorer 때문에 스트레스받아 죽을 것 같아요.

특히 IE6 는 되는게 없네요. png 포맷의 '투명배경' 지원도 안되고 css도 지원 안되는게 많고, 딴데선 다 잘 보이는데 ie6에서만 레이아웃이 깨져보이고..

디자인 회사라 jquery 이펙트도 좀 많이넣고 png 파일도 많아 ie6 까지 지원되게 하려면 지금보다 노력이 3~4배는 필요할 것 같습니다.

어떻게 하는게 좋을까요? ie6를 놓느냐 마느냐.. 정말 고민입니다!!

poplinux의 이미지

pthread_create() 함수 호출할때 pthread_t ID 사용 기법

안녕하세요.

얼마전에 기존 코드를 살펴보다가 pthread_create() 사용에 대한 특이한 케이스를 보게 되었습니다.

보통은 아래와 같이 쓰레드와 쓰레드 ID 를 쌍으로 사용하게 됩니다.

taehun의 이미지

[완료] 리눅스 컴파일 방법 및 모듈 설치방법문의드립니다.

IGMP V3가 V2로 강제 변경되는 문제 때문에 고민중 외국인이 같은 문제로 올린글을 보고
(http://www.gossamer-threads.com/lists/linux/kernel/1273443)

/root/kernel/linux-3.0.4/net/ipv4/igmp.c

의 파일을 외국인이 하라는 대로 아래와 같이 고쳤습니다.

if (len == 8) { ===> if (len == 8 || IGMP_V2_SEEN(in_dev)) {

근데 제가 리눅스 초보라서 그 다음에 어떻게 해야하는 지를 모르겠습니다.

어떻게 컴파일을 하고 어떻게 커널 모듈에 심는지를 모르겠습니다.

cpp를 실행하면 다음과 같은 에러가 발생하고

페이지

프로그래밍 QnA 구독하기