프로그래밍 QnA + 설치 및 활용 QnA + 질문

declspec의 이미지

netstat vs ss

리눅스에서 netstat 명령을 치면
/proc/net/tcp 에 있는 정보를 기반으로
시스템에서 사용중인 소켓들에 대한 정보를 알려줍니다

그런데 버전 1.4 이상인가부터 netstat 대신에 ss 라는 비슷한
프로그램이 사용됩니다
man 페이지에 보면 netstat 은 obsolete 이니 ss 를 쓰라고 나와있습니다.

그런데 ss 는 /proc/net/tcp 에서 정보를 가져오는게 아닌거같더군요.
ss 는 어떻게 시스템에서 사용중인 소켓들에 대한 정보를 얻어오는걸까요?

bumworld의 이미지

iptables에 1099 포트를 열었는데 통신이 되지 않고 있습니다.

centos 5.8 사용자 입니다.

java rmi 통신을 하기 위해서 1099 포트를 열었습니다.

제가 iptables에 대한 지식이 부족해서 기존에 오픈한 방식그대로 열었습니다.

$IPTABLES -A INPUT -p tcp -m multiport -s 0.0.0.0/0 -d $IPADDR --dport 1099 -j ACCEPT

위와 같은 방식으로 80, 8080 등 다른 포트들은 정상적으로 열렸구요.

위와 같이 열은 채로 외부에서 telnet domain 1099 로 테스트 하면 오픈된것으로 나옵니다.

그런데 java rmi 프로그램에서는 제대로 연결이 되지가 않습니다.

iptabels 셋팅을 모두 지우고 테스트하면 정상적으로 되구요.

telnet으로 테스트 했을때 오픈된것으로 나오며 정상적으로 오픈이 된것 같은데

java rmi에서 다른 포트가 더 필요해서 안열리는것일까요?

아니면 input만 되고 output은 안되서 그런것일까요?

조언 부탁드립니다.

carosy의 이미지

CGI 화면 출력관련 질문드려요~!

안녕하세요.

리눅스C를 이용해서 인터넷화면(익스플러로)에 출력을 하고 있는데요.

문제의 요지는 이렇습니다.

소켓통신을 하여, 요청을 하고 응답을 하여 결과물을 화면에 출력하기를 반복하고 있습니다만,
화면에 출력되는 값이 길면, 한번에 출력이 되구요. 짧으면 버퍼가 쌓인후에 출력이 됩니다.

그러니깐,
while(1)
{
소켓 리딩;
소켓 쓰기;

for(i = 0; i < NUM_CHANNELS; i++)
{
printf("Motion%02d:%d\r\n", i, cgi_motion->cams[i].state);
}
fflush(stdout);
sleep(1);
}

이렇게 출력을 하면 계속해서 출력이 되는데요,
for문없이 printf한줄만 출력할려고 하면, 바로 출력이 되지 않습니다..

upersbird의 이미지

[완료] 메모리 할당 및 해제에 관련된 C소스인데 문제점을 모르겠습니다. 도와주세요 ㅠㅠ

- 내용 요약

: 단순 연결 리스트를 통해서 노드에 malloc을 할당한 값을 순차적으로 넣고, 순차적으로 메모리 해제를 하는 소스입니다.
메모리 해제 시 alloc된 주소와 free 주소가 일치하는데 해제하고 top으로 찍어보면 메모리 점유율은 같습니다.
valgrind --leak-resolution=high --log-file=memcheck.txt --trace-malloc=yes --leak-check=yes --show-reachable=yes -v [실행]
결과 메모리 누수가 발생하지 않았습니다. 이런 경우는 어떤 경우인지 설명좀 해주시면 정말 감사하겠습니다. ㅠㅠ

- 소스 코드(간단합니다...ㅠㅠ)

[[[main.c]]]

modelyi의 이미지

RRD Counter값 추출 문제입니다.

콩수니의 이미지

임베디드 리눅스에서 sleep함수를 쓰는데요

임베디드 리눅스에서 반복문안에서 sleep 함수를 사용해서 구현을햇는데
작동하다가 프로그램이 반응이 없습니다..

while(1){

work()//내가 지정한 작업 수행

sleep(30); //30초 대기
}

뭐 단순히 로직은 이렇게 보시면 되겠습니다.
당연히 30초 쉬고 작업하고 30초 쉬고 작업해야 되는것같은데...
처음 얼마동안은 잘 작동하다가 시간이 지나면 정말로 잠들어버리더군요...
잠들어버리는 시간도 몇번 해보니 랜덤하게 일어납니다.

그래서 sleep() 함수없이 반복문으로 작업햇더니 무한히 작업을 잘하더라고요

그리고 추가로 sleep 함수의 정확도가 궁굼합니다.!!
티값으로 계산해서 완벽히 정확하다는데 혹여 제시간에 계산을하더라도 스케줄러에서 뒤로 밀려서 약간의 오차가 발생 할 경우는 없는가요?
궁굼하네요!!

조언부탁드립니다.

lmk378의 이미지

[완료]MFC 프로그래밍시 질문있습니다.

프로젝트 명을 Test로 하고 다이얼로그베이스로 생성하면
다음과 같은 코드가 자동생성됩니다.

//TestDlg.h
#pragma once

class CTestDlg : public CDialogEx
{
public:
CTestDlg(CWnd* pParent = NULL); // 표준 생성자입니다.
enum { IDD = IDD_TEST_DIALOG };
...
}

궁금한건 enum { IDD = IDD_TEST_DIALOG }; 이부분에서
IDD_TEST_DIALOG에 대해 Resouce.h에 define이 되어있다는 것을
#include "Resource.h" 없이 어떻게 알 수 있나요?

Gapsu의 이미지

Fedora용 washer도구 아시는 분?

Fedora에서 OS 이력 (파일 및 문서 열기, 인쇄...) 을 지우는 도구 알고 계시면 좀 알려주세요.
Windows washer 같은 툴이면 충분합니다.

lmk378의 이미지

[완료]cpp에서 다음과 같은 문법을 모르겠습니다.

CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CTestDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

여기서 2번째 줄에 : CDialogEx(CTestDlg::IDD, pParent)라고 되어있는데
이게 뭔가요? cpp문법을 잘 몰라서요(뭐라고 검색해야 되는지도 잘 모르겠네요^^;;)

ksl6424의 이미지

[질문]잘 되던 프로그램이 갑자기 안될때!

오픈 라이브러리 opencv를 이용한 영상처리 프로그램입니다.
넉달전쯤에 처음으로 실행시켜 보았을때부터
바로 일주일 전까지만 해도 아무 이상없이 잘 실행이 되던것이
지금은 실행은 되는데 정상적으로 기능을 수행하지 않습니다.
명령인자(argv)로 받아오는 부분이 전혀 기능을 못하는데
마침 연구실에 똑같은 모델의 컴퓨터가 있어서 실행 해 보았더니
이 컴퓨터 역시 안됩니다. 이 컴퓨터 역시 일주일 전까지는 되었구요.
더 최신 컴퓨터로 테스트 해봤더니 역시 안되는데, 앞의 세대보다 안좋은 컴퓨터에서는 잘 작동됩니다.
아무런 세팅의 수정도 없이 그 파일 그대로 제 컴퓨터에서 실행해봐도 안됩니다.

교수님께서는 이런경우가 간혹 있다고 하시는데 어떻게 해야할지 모르겠네요.
이 프로그램이 제게는 정말 중요한 것이라서 이렇게 질문 올립니다.
opencv 문제가 아닌 통상적인 문제인것 같은데 대체 뭐가 문제인걸까요?

페이지

프로그래밍 QnA + 설치 및 활용 QnA + 질문 구독하기