프로그래밍 QnA

moonzoo의 이미지

소켓 프로그래밍 중에서...

man recv 해보았더니

댜음과 같은 것이 있었습니다.

[ECONNRESET]
A connection was forcibly closed by a peer.

근데 막상 Server에서 recv중에

Client를 강제로(ctrl+c) 로 죽였더니..

Server의 recv에서는 errno가 발생치 않고..

0을 리턴하는 군요..

recv중에 ECONNRESET은 언제 일어 나는건가여?

-------- 또 한가지..

Server에서 select로 client와 연결된 socket fd를 read set에

걸어놓고 기다리는데 Client가 죽어도

select에서 -1, 또는 0을 리턴하지 않고 걍 넘어가네여(양수 리턴)

superb86의 이미지

시간함수을 사용하려고 하는데 작은 시간을 측정하려고 합니다.

안녕하세요
시간 함수를 이용하여 작은 시간을 측정하려고 합니다.

리눅스을 사용합니다.

time()함수를 사용하면 1초 단위로 반환을 합니다.

1초보다 작은 시간을 측정하고 싶은데..

무슨 함수가 있나요?

검색을 해서 몇몇 글을 읽어 보았습니다. 그런데 다들같이 안됩니다...

답변 부탁드립니다.

redglim의 이미지

[질문]perl 에서 소켓프로그래밍시에..

펄에서 소켓 프로그래밍을 해볼까 했는데,
초보라 처음부터 막히네요..
일단 메인 쓰레드에서 다음과 같이 accept 를 하고,
socket descriptor 를 배열에 저장 한 후에, 자식 쓰레드를 깨우고,

$client_address = accept(CLIENT, SERVER);
$client_fd[$iput] = fileno(CLIENT); 

자식 쓰레드에서는 다음과 같이, 부모가 저장해 둔 socket descriptor
를 받아와서 select 후 처리 하려고 합니다.
[code:1]
$connfd = $client_fd[$iget];
$readin = $excepin = "";

eziya의 이미지

ns_initparse linking 에러

제 문제와 동일한 문제가 포스팅 되어 있는게 있어서 그 내용을 올려놓겠습니다.
간단히 내용을 말씀드리면 ns_initparse 를 링크시에 찾지 못하는 건데요. 밑에 보시면 아시겠지만 분명히 libresolv 에 함수가 들어있는데도 이런 문제가 발생하네요. 그럼 많은 도움 부탁드리겠습니다. 감사합니다.
-------------------------------------------------------------------------------------
Can someone help me out with the following problem?
The problem is that when I try to compile a program which queries name servers, it fails at the linking stage with the message "undefined reference to `__ns_initparse'" and I cannot understand why. Here's the info:

moonzoo의 이미지

TCP에서..

TCP 소켓 프로그래밍에서..

TCP에서는 메시지의 경계가 분명치 않은 것으로 아는데여..

예를 들어 보내는 쪽에서 100, 200, 100, 200, 100, 200등과 같이

보낸다 해도..

받는 쪽에서는 100,100,100,200등 과 같이 다르게 받을 수 있습니다.

이런 문제 때문에 메시지 않에 길이를 포함해서 보낸다던지..

구분할 만한 토큰을 넣어서 보낸다 던지 하는데여..

좀더 다른 방법은 없을까여?

spinel1의 이미지

2중배열과 함수에 관해서 질문입니다.

[code:1]
#include<stdio.h>

void sum(int **a, int **b, int **c);

main()
{
int a[3][3], b[3][3], c[3][3];
int i, j;
for(i=0 ; i<3 ; i++)
{
for(j=0;j<3;j++)
{
a[i][j]=i+j;
b[i][j]=i-j;
}
}
sum(a, b, c);

}

void sum(int **a, int **b, int **c)
{
int i, j;
for(i=0 ; i<3 ; i++)
{
for(j=0;j<3;j++)
{
c[i][j]=a[i][j]+b[i][j];

버그소년의 이미지

Solaris에서 C++컴파일한 실행파일이 공유라이브러리를 찾을때..

gcc/g++이설치되어 있는 솔라리스에서 컴파일을 잘 하고나서

실행파일을 실행시키면 libstdc++.so.2.10.0를 열 수 없다는 에러메세지를 출력하며 죽습니다.

해당 라이브러리는 /usr/local/lib에 설치가 되어있는데요..

제가 알기론 LD_LIBRARY_PATH라는 환경변수를 세팅해주면 되는걸로 알고있는데..

안되네요..

그리고 솔라리스는 /etc/ld.so.conf파일도 없네요..

솔라리스에는 공유라이브러리 경로를 어떻게 지정하는거죠?

고수님들의 답변 기다리겠습니다.

haijun의 이미지

C언어로 작성한 코드를 비주얼베이직에서 불어와서 사용가능한가

핵심코드는 C언어로 작성하고,
사용자 인터페이스등은 비주얼베이직작성하려고 합니다.
C언어로 작성된 코드를 비주얼베이직에서 불러와서 사용할수있나요?
아니면 다른 방법이 있으시면, 알려주세요.

제가 C는 아는데, 비주얼베이직은 도통 초짜라 모르거든요.
이 것이 가능하다면 비주얼베이직을 배우려고 합니다.
불가능하다면, 다른 언어를 배워야 하는 상황이거든요.

답변에 미리 감사드립니다.

spinel1의 이미지

비쥬얼 스트디오에 대해 질문이요~

C를 짜는데요.

모듈화 시키려고 하거든요.

프로그램에서 좀 긴 함수는 빼내서 다른 c화일로 만들고 싶은데...

리눅스 환경의 gcc는 할 수 있겠는데...

vc++로는 어떻게 하는줄 모르겠네요.

이런 질문은 데브피아에 가서 해야 하나??

부탁드립니다.

...

아 그리고 아래에 2중 포인터 malloc하는거 가르쳐 주신 분들 정말 감사드립니다. 아직 제가 포인터에 대한 이해가 부족해서요. ^^

krim20의 이미지

프로세스 스케줄링을 하는데요.. 모르는 것이 있어서여..

안녕하세요..
프로세스 스케줄링을 하려고 합니다. 운영체제을 공부하면서 시뮬레이션을 하려고 해서요..
:
actSIGUSR1.sa_handler = ProRun;
actSIGUSR2.sa_handler = ProReady;
:
>> "SIGUSR1 시그널을 받게 되면, 화면에 간단한 문자열(자신의 프로세스 번호)를 출력하고 무한 루프를 수행합니다."

무한 루프라는 것은 단순하게 하면 되는 것인가요?
void ProRun(int sig)
{
for(;;)
{
}
}

>> "이후에 SIGUSR2 시그널이 도착하면 무한 루프에서 빠져 나와서 다시 sleep()을 호출하고 대기하도록 프로그램하기 바랍니다."

페이지

프로그래밍 QnA 구독하기