프로그래밍 QnA

kmanddang의 이미지

[완료]make 시 컴파일 오류 디버깅

다른곳에서 해답을 얻었네요ㅎㅎ

j4an15의 이미지

리눅스 커널에서 TCP 프로토콜 코드가 어떤 부분인가요??

리눅스 커널에서 TCP Protocol 코드를 분석해서

ACK의 6개 규칙에 대한 코드와 Error Control에 대한 코드를 분석해야 되는데

linux2.6.36/net/ 폴더안에 있는 파일 중에 어떤 파일을 봐야 되는지 모르겠네요..

답변 부탁드리고

혹시 리눅스 커널 TCP 프로토콜 관련 참조할만한 사이트좀 추천해주세요

fastwater의 이미지

[완료] 서버 - 클라이언트간에서 클라이언트가 닫힐 때 소켓의 반응이 궁금합니다.

일단

서버소켓의 accept와 stdin에서 fgets를 동시에 수행하는 것은 select를 이용하여 해결하였습니다.

그런데 문제가 클라이언트가 꺼지면 서버소켓이 반응을 하는지 FD_ISSET이 반응을 해서 accept가 있는 블럭으로 가버려 accept에서 서버가 멈추네요. 물론 클라이언트 추가 접속은 잘 됩니다만 fgets를 받아야 할 부분이 먹통이 되버려서;;

분명 클라이언트에서 서버와 연결된 소켓을 중간에 닫아주는데, 그 때 반응이 오는게 아니라 클라이언트 프로그램이 종료 될 때 반응이 온다는 것도 좀 이상하고 말이죠.

도대체 무슨 데이터가 오나 검사해보려고 read로 적당히 받아보려 했는데 -1 리턴하고 데이터를 못받더군요.

궁금합니다 ㅠㅠ

temery의 이미지

env_plsql.mk PROC 컴파일 질문입니다.

include $(ORACLE_HOME)/plsql/lib/env_plsql.mk

inamind의 이미지

linux kernel mainline 에 들어와 있는 patch 들을 검색할 수 있는 site를 알고 싶습니다.

구글님에게 여쭤보면 각 patch 들이 나오는데요.
날자로 비교해 볼 수도 있겠지만, patch 이름으로 검색하서 어느 kernel 버전에 적용되어 있는지 알 수 있을까요?

fastwater의 이미지

[완료] 터미널에서 아무 입력이나 발생시 발생하는 시그널이 있나요?

터미널에서 아무 입력이나 발생시 발생하는 시그널이 있는지 궁금합니다.

Ctrl+C는 SIGINT 를 발생시키고

각각 몇몇 특정 키들은 특정 시그널을 발생 시키는 것으로 알고 있습니다만 현재 과제를 하는 도중

서버를 만들고, 서버를 종료할 때 특정 문자열을 입력 받으면 서버를 종료하도록 구현을 하려 합니다. 현재는 쓰레드를 하나 만들어서 while 루프로 fgets를 계속 돌리도록 했습니다만 뭔가 이건 좀 아니다 싶은 생각이 들어서 말이죠.

아무런 키보드 입력이 들어오면 시그널 처리 함수로 가서 fgets나 read로 버퍼에 stdin에 기록된 값을 읽어들이려면 어떻게 해야 할까요?

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

답변 감사합니다. 그런데 select 함수를 보니 파일 디스크립터의 움직임을 관찰하는 함수 같은데 이걸 어디다 쓰는지 감이 안잡히네요;

firstpenguin27의 이미지

ARM 디바이스에서 어떻게 외부 컨트롤러의 레지스터에 접근할 수 있나요?

최근 마이크로프로세서프로그래밍 강의를 수강하고 있습니다.
PXA320 칩셋이 올라간 MV320이라는 보드에서 디바이스를 제어하는 프로젝트가 있는데
정말로 하나도 안가르쳐주고 보드만 던져주면서 알아서 하라고 하시네요.
데이터시트 읽는 법부터 임베디드 개발 세팅까지 스스로 알아가고 있습니다.
중간에 카메라 디바이스에 접근하는 경우가 있는데, arm assembly로 짜려고 하니 v4l2를 사용하기보다
직접 디바이스에 접근해 데이터를 얻어오려고 합니다. pxa320에는 그래픽 캡쳐 컨트롤러가 있어서
이를 통해 카메라에 접근할 수 있더군요. 데이터시트를 보면 관련 레지스터의 주소가 0x44000000, 0x44000032 등등의 순서로 나와있습니다.
그런데 일반적인 어플리케이션에서 이런 물리적 주소에 접근하는 방법을 모르겠네요.

ppond03의 이미지

KDevelop 에서 코드 완성 데이터베이스에 관해 질문있습니다~

KDevelop으로 C++ 개발중인데

STL관련해서는 코드완성이(인텔리센스) 전혀 이루어 지지가 않네요;;

코드 완성 데이터베이스에 /usr/include/c++/4.3/bits 를 추가해 봤는데 소용이 없네요

혹시 방법 알고계신분 계신지요~

ksl6424의 이미지

[완료]컴공 꼬꼬마가 선배님들께 여쭙니다.

안녕하세요! 4년제 컴공 2학년을 다니고 있는 꼬꼬마입니다.
여기저기 열심히 찾아봤지만 성과가 없어 선배님들의 작은 관심이 필요해 왔습니다.
자료구조를 충분히 이용한 프로그램을 만드는 프로젝트인데
저희는 구조체와 트리를 이용해 여행친구찾기 프로그램을 만드려합니다. (B트리, AVL트리는 안배웠고 그냥 트리이용할 생각입니다.)
가장 메인 기능이 "조건검색"인데요. 같은 목적지나 같은 연령대를 검색할수있게 하려고 머리를 쥐어짜서
첨부한 그림같은 노드가 나오게 되었는데요.
이름, 목적지, 연령대는 조건검색을 위해 KEY값으로 쓰려고 노드에 포함시켰고,
나머지 검색에 쓰이지 않는 정보들(프로필,취미,학교)등은 주소를 저장해 원하면 가져올수 있게...하는게 제 의도인데..
과연 이게 말이되는것인지,구현가능한건지 선배님들께 여쭙고자 글올립니다.
아님 더 좋은 방법이 있을까요? 조언부탁드립니다.

zikpreed의 이미지

select() > 0 인데, recv() < 0 - 어떤 경우에?

일반적인 TCP 소켓 프로그램에서 제목처럼

select() > 0 인데, recv() < 0 인 경우가 어떤 때 나오는지 궁금해서 질문드립니다.

RTSP 클라이언트 프로그램을 작성중인데요,

소켓에서 한 바이트씩 읽어서 /r/n/r/n이 나올 때까지 읽는 프로그램입니다.

소켓 옵션은 특별히 주지 않았구요. 그러니까 blocked socket 이네요.

뭐 이건 non-block 소켓으로도 바꿔 보고 이것저것 해 봤습니다.

아래 소스에서 block_until_readable()의 결과 값이 > 0 (그러니까... select() > 0) 인데,

recv() < 0 이어서

perror("Fail to recv :");

라인에 걸리는 경우가 있습니다.

errno = 104 (ECONNRESET - Connection reset by peer)

라고 나오는군요.

원래대로라면

페이지

프로그래밍 QnA 구독하기