프로그래밍 QnA

alsrud의 이미지

소켓 프로그램 종료시에 발생하는 문제 질문 드립니다~

연결리스트에 저장된 정보를 가져와
입력, 삭제, 검색 등을 하고 종료하는
서버 - 클라이언트 구조의 소스를 작성했습니다.

소스가 장황항게 길긴하지만..
궁금한 것은 End부분 입니다.

처음 서버를 실행시켜놓고 클라이언트로 접속했다가
서버는 죽이지 않고 클라이언트만 종료한 후
같은 포트넘버로 클라이언트를 다시 connect 한 후 종료를 하면
*** Error in `./server1': double free or corruption (!prev): 0x0000000001cb2010 ***
중지됨 (core dumped)
이런 에러가 출력됩니다~~

서버는 죽지 않고 계속 돌아가야 한다고 생각해서
클라이언트만 종료되게 코드를 만들었는데,,
어떤 부분이 잘못되서 저런 메세지가 출력되는지 궁금합니다~
조언 부탁드립니다 :)

server.c

presee17의 이미지

C++프로젝트 하고있는데요 콘솔창이 초라해보여서 GUI쓰고싶은데

윈도우창같은 GUI를 입혀주고 싶은데 발표날이 얼마안남아서;;

간단하게 연결 시켜줄수 있는 그런거 없나요;

MFC 예제 코드같은거 가져다 쓸려고도 해봤는데 복잡해서 머가먼지 모르겠네요;

도와주세요ㅠ

wjddndyd401의 이미지

linux에서 c언어로 네트워크 트래픽을 모니터링하고자 합니다.

전체 트래픽은 /proc/net/dev 이용하면 된다고 찾아냈는데
source ip와 destination ip별로 구분하는 방법은 찾지를 못하겠네요.
ntop이나 iftop 등 각종 프로그램은 이것저것 찾아봤지만
그걸 어떻게 c에서 실행을 해야할지도 감을 못 잡겠구요.
iftop이 오픈 소스라 뜯어보면 알 수 있을 것 같기도 합니다만
일단 방법을 알고 계신 분이 있을까봐 질문을 남겨 봅니다.

whitemagnolia의 이미지

다른 쉘 스크립트의 read 에 값을 던져 줄 수 있을까요?

수고하십니다.

간단한 쉘 스크립트 하나 만들어볼려다 막히는 ㅜㅜ 부분이 있어 질문드립니다.

기존 test.sh 파일하나 있는데 이게 사용자의 입력값을 read로 받아서 처리를 하더군요.
예를 들면 파일위치, 파일명 받아서 이런저런 처리를 합니다.
이게 파일 하나,두개 일때는 괜찮은데 10개일 때는 sh 실행해서 입력하고 처리 끝나면 또 실행해서 다음 파일 명 입력하고..
이게 너~~~무 싫어서..ㅜㅜ

파일명을 파일하나에 저장해놓고
저장된 파일명 읽으면서 루프돌고, 매 루프마다 위 test.sh파일 실행해서 파일에서 읽어온 값을 입력해줄려고 하는데요..

궁금한거는 파일에서 읽어온 값을 test.sh에 어떻게 던져주나요? ㅜㅜ

test.sh 에는
---------------------------------------------
echo "input file name "
read fileName

na94ojt의 이미지

채팅 방 구현에 있어서 질문드립니다

비단 채팅 뿐만이 아니라 모든 경우에서 방 구현에 대해 질문을 드리고 싶은데요.
보통의 채팅이나 게임은 방이 있어서 그 방에서만 통신이 이루어지잖아요?
제가 옛날에 어떤 형의 조언을 받아서 방 하나당 쓰레드하나(...)를 생성하는 식으로 구현을 했었는데요.
되긴 되는데 저도 조마조마 했었습니다.
그 후에 그 때의 기억을 되살려서 하나의 서버 소켓에서 데이터를 받고 그 데이터에 포함된 인덱스에 따라서 방을 구분하는 식으로 했었는데요.
보통은 어떤 방법을 사용하는지 궁금합니다.
(그리고 서버와 채널도 어떤 식으로 되는건지 궁금합니다.)

hscho의 이미지

C언어 가변인자함수 구현 문제입니다.

void debug(const char *format, ...);
 
void debug(const char *format, ...)
{
    void *arg = (void *)&format + sizeof(void *);
 
    return;
}
 
int main(void)
{
    // ERROR
    //debug("FORMAT", 1, "ABCDE", 3.141592f, 'A', 10);
    // 00000001 20000370 0000000A 00000000 400921FB 00000041 0000000A
    // -------- -------- -------- ----------------- -------- --------
    //        1    ABCDE        ?          3.141592      'A'       10
    //                        10?
 
    // OK
lsm5059799의 이미지

여러 개의 언어를 배운다는 것

이 가능한가요??

개발쪽으로 프로그래밍을 여러 개 맛 보기로 많이 해 보았다만...

이 언어 썼다, 저 언어 썼다 하다보면 사소한부분(두 언어를 상대로 서로 조금 달라 헷갈리는 부분) 때문에 힘든데...

자신만의 주력언어만 고집한다는 것은 무리수 인가요??

(c++ 이나 자바 도 조금 다른 부분 때문에 맨날 헷갈리는데 최근에 펄,즉 스크립트 언어(인터프리터)를 배워서 정말 혼란이 오네요)

balgarac1의 이미지

boost asio 질문이요.

네트웍 프로그래밍을 공부하다가 boost asio를 알게 되었는데 질문드리고 싶은 부분은
윈속 api나 유닉스 api 둘 중에 하나만 알아도 책 보면서 공부하는데 지장이 없나요??

jic5760의 이미지

C++ member함수 포인터 변환...

int clsName::cfunc()
{
....
}
 
void clsName::xxxx()
{
	void *pv = (void*)cfunc;
	int (clsName::*pf)() = pv;
	aaaa = pv();
}

뭐 이런식으로 하고 싶습니다.
그런데 잘 안되네요....ㅠㅠ
union으로 C++ 멤버함수포인터, void* 포인터 을 함께 넣어놓고 해봐도 잘 안되구...ㅜㅜ

페이지

프로그래밍 QnA 구독하기