프로그래밍 QnA

mistraknight의 이미지

g++ 로 작업시 gnu c 라이브러리를 링킹하여 사용이 가능 하나요

g++ 로 패킷 캡쳐 프로그램을 만들고 있습니다.

libpcap 라이브러리를 사용하여서 개발하는데 컴파일시에 다음과

같은 문제가 발생 하네요

g++ -o pcap_test pcap_test.cpp -lpcap

문제는 pcap 에 존재하는

pcap_dev, pcap_lookupnet 등의 함수를 링킹할수 없다는 에러

메시지가 나옵니다.

동일한 파일을 이름을 c 로 바꾸고 gcc를 사용하여 다음과 같이

컴파일을 했을 경우에는 문제없이 제대로 결과가 나옵니다.

gcc -o pcap_test pcap_test.c -lpcap

www.faq.org 에서 찾아보니 g++ 에서 gnu c library를 사용할수

gentleyi의 이미지

SUN gcc 관련 문의

solaris 8에서 gcc를 이용하여 컴파일하여 처리하는데요..

dns 관련 메시지를 만들려고 하다가 segment error가 나는데요..

소스는

int dns_update(char* zone, unsigned int addr, int expire, char* server)
{
HEADER *hp;
char *p,*cp;
char name[BUFSIZ],realm[BUFSIZ],hostname[BUFSIZ];
char buf[1024];

hp = (HEADER *)buf;

bzero(hp,sizeof(*hp));
hp->id = htons(rand()%0xFFFF);
hp->qr = 0;
hp->opcode = NS_UPDATE_OP;
hp->qdcount = htons(1);
hp->ancount = htons(0);

hellowee의 이미지

뮤텍스에 대해서 가르쳐주세요.

pthread_mutex_lock(&mutex);
pthread_cond_wait(&cond, &mutex);
clientsocket=g_db_struct.socket;
pthread_mutex_unlock(&mutex);

이렇게 하면 락이 걸리고 있는동안 다른 시그널이 들어오면 시스템이 자동으로 큐에 넣고 락이 풀리면 다시 처리하지 않나요?
아니면 락이 걸리고 잇는동안 다른 시그널이 들어오면 그 들어온 시그널은 사라지나요?

이상하게 락이 걸리동안 시그널을 주면 그 시그널을 깨어나지 못하고 죽는 경우가 발생하네요..

fanuk의 이미지

socket close 문제

tcp/ip socket을 써서 여러개의 파일을 보내는 프로그램입니다.

server는 새로운 접속 시도를 받을때마다 쓰레드를 하나씩 만들어서

recv()를 반복합니다. recv결과가 -1이면 socket을 shutdown, close 합니다. client쪽 소켓이 강제로 닫히면 recv에러를 내면서 shutdown됩니다.

client에서는 3개의 쓰레드 수 제한을 두고 서버에 접속해서 각각 하나의 파일을 맡아서 40kB씩 쪼개서 반복적으로 보냅니다. 파일 크기는 0byte에 가까운 것부터 1GB에 달하는것까지 다양합니다. send 에러가 발생하거나 connect에 실패할 경우에 소켓을 닫습니다.

sjpark의 이미지

알고리즘 테스트를 위한 코드 있으신분

알고리즘 수행 시간 평가등을 하려고 하는데요

혹시 미리 만들어 놓고 사용하는 코드가 있다면 공유해요..

유닉스환경(리눅스)에서 만들어진 코드만요...

:oops:

pogs의 이미지

log 를 남겨야되는데요...조언좀해주세요.

안녕하세요. 서버프로그램 초보입니다.

c로 되어 있는 소켓통신 서버프로그램을 보고 있는데요.
로그인, 에러상황, 등을 로그 파일로 남겨야 된다고 합니다.
나중에 로그파일을 웹페이지등에서 간단히 볼수 있어야 된다고 하고요.

로그파일의 형태는 어떤식으로 남겨야 하나요? 로그파일의 예제 형태를 보고싶네요.
도움좀 부탁드립니다.

iamslash의 이미지

build error 좀 봐주세요...

sparc sun 5.8 에서 make 할때 compile 다되고 link error 납니다. gcc -v 하면 다음과 같구요...

Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/specs
Configured with: ../configure --disable-nls --with-ld=/usr/ccs/bin/ld --with-as=/usr/ccs/bin/as
Thread model: posix
gcc version 3.2.2

gcc 는 sunfreeware.com 에서 pkgadd 로 설치했습니다. stlport 를 설치하긴 했지만 stlport 를 링크해놓으면 런타임에서 에러가 나길래 원래 stl 로 했습니다. wchar_t 를 잘 지원안하는 것 같은데 조언좀 부탁드려요...

hbsnow의 이미지

유동ip와 외부에 server 와 통신

192.168...(NAT,DSCP) 이런 유동아이피, 가상아이피를 사용하는 host로 부터 외부에 server로 접속이 필요할때 그리고 server에서 그 host로 메세지를 전송한다하면 앞단에 gateway주소로 인식이 될것 같은데.. 방법이 없을까요?

유동,가상 ip host와 외부 server가 통신할수 있는 방법?

kkojiband의 이미지

pic 의 irq 할당에 대해...

isa 장치의 경우에는 사용하는 인터럽트 핀이 고정되어 있고, pci 장치의 경우에는 pci slot 에 있는 A, B, C, D pin 에 각각 인트럽트 핀이 연결이되어 있더군요...

그리고 초기에 pci bios 가 irq 를 할당할때 A, B, C, D 핀중에 하나를 선택해서(거의 A pin) 그에 연결된 irq 를 pci 설정 공간에 저장한다고 되어있던데...

그럼 pci 도 irq 자체는 고정되어 있는거죠?

pic 에 대해 더 찾아보니 받은 irq 를 해당 벡터로 변환해서 cpu에 넘겨준다고 되어있던데...

초기 설정된 그 벡터를 다른 값으로 바꾸면(irq 번호를 바꾸는) 실질적으로 pci 가 가지고 있는 irq 번호와 pic 가 cpu 에 넘겨주는 벡터 값과는 차이가 생기는거 아닌가요? 그럼 여기서 cpu 가 가지고 있는 pci 장치의 irq 값은 어느 값이죠?? 만약 여기서 pci 가 가지고 있는 irq 번호까지 바뀐다면 말이 안되지 않나요? 연결된 선 번호가 틀리게 되는거니까요...

hbsnow의 이미지

Socket 프로그램: 방화벽 유무 확인, 방화벽 있을시 뒷단 host ?

TCP로 소켓프로그램을 구상중에 있습니다.
설계중에 문제점이 있어서 질문을 올립니다.
많은 토의가 있엇으면 합니다.

1. 외부에서 접속할 host에 대해 방화벽이 설치되었는 네트웍인지 아닌지를 확인할수 있는 방법을 알고 싶습니다.
well-known ports 접속시도로 체크정도 생각을 해봤습니다.

2. 방화벽이 설치되었음을 확인했을때 그 네트웍에 있는 host를 접속하려면 어떻게 해야 합니까?
일반적으로 ip부여해서 socket를 만들어서 tcp 접속을 한다면 방

페이지

프로그래밍 QnA 구독하기