프로그래밍 QnA

declspec의 이미지

TCP 연결 릴레이 질문

안녕하세요, 간만에 질문올립니다.

TCP/IP 통신을 하는 프로그램 A, B 가 있습니다.
B 가 소켓을 열고 A 가 여기에 connect 하면
B 가 데이터를 A 에게 전송합니다.

이 두 프로그램은 문제없이 잘 작동했습니다.
그런데 이것을 아래와 같이 바꿨더니 이상해집니다.

프로그램 C 가 TCP 소켓 2개를 엽니다.(socket1, socket2)
프로그램 B 는 socket1 과 연결됩니다.
프로그램 A 는 socket2 와 연결됩니다.

프로그램 C 는 아래의 무한루프를 돌리면서 socket1 에서 읽은 데이터를
socket2 로 넘겨줍니다.

즉, A 와 B 의 중간에서 TCP 데이터를 릴레이 시켜주는것이죠.
저는 이렇게해도 A 와 B 가 똑같이 잘 돌아갈줄 알았습니다.
그런데 처음에 잠시 잘 돌아가다가, A 가 엉뚱한(B 가 보내지도 않은) 데이터를
수신하고 죽어버립니다.

bosungs2y의 이미지

system 함수 에서 find 명령어사용

현재 winpcap을 이용한 arp spoofing 탐지 후 방어하는 프로그램을 제작중에 있습니다. 막히는 부분이
system 함수에서 cmd의 arp -a | find "보낸자MAC주소" 명령어를 주어
중복되는 MAC테이블을 찾기를 만들려하는데 %02x 구문이 안먹히네요... 무엇이 잘못되었는지 가르켜주시면 감사하겠습니다.
그리고 언어적으로 방어방법이 있으면 소개좀 부탁드리겠습니다.

-----------------소스-----------------------

jekai의 이미지

filesystem을 공유하는 여러 system에서 inotify 사용은 불가능하군요...

filesystem을 감시하는 목적으로 inotify를 사용했는데,

제 환경이 filesystem을 여러 machine이 공유하고( **특정 path /user/ 밑으로만 모든 machine이 공유** )

각각의 machine에서 inotify를 사용하여 특정 directory를 monitoring합니다.

그런데, inofity가 /dev/input으로 동작하는거라서 같은 machine안에서 발생하는 file변경사항은 감지를 해도,

다른 machine에서 발생하는 file변경은 감지를 못하네요...

filesystem을 공유하고있지만, kernel이 각각 다르기때문에 /dev/input도 달라서 이건 어쩔수 없나봅니다.

그래서 저와 같은 환경에서는 어쩔수 없이 polling하면서 감지하는 방법밖에 없을까요???

/dev/input 를 옮기는 방법같은건 없을까요 ㅠㅠ

pppp123의 이미지

TCP/IP에서 멀티 스레드에서 메시지 전달 방안에 대해서 질문드립니다.

안녕하세요?

TCP/IP에서 멀티 스레드에 대해서 질문이 있습니다.

질문 내용은 아래와 같습니다.

(세션1) (세션 2)
com1 com2 com3, com4,..., comN
S(M)==> (메시지전송) S(S) (메시지 전송) ===> C
tx(스레드(keepalived) tx(스레드 keepalived)
rx(스레드) rx(스레드)
(응답) <== S(S) (응답) <=== C

S(S) 와 C는 (세션 2) 지속적으로 세션이 연결된 구조이고.. S(M)에서는 특정 설정에 따라서 S(S)로 connection을 맺은 후...

cwy120의 이미지

리눅스에서 세션 모니터링 프로그램 소스를 짜려고합니다.

안녕하세요
리눅스에서 세션 모니터링 프로그램 소스를 짜려고합니다.
세션맺은 패킷들 캡쳐해서 그걸 저장해서 서버에게 보내주는 프로그램입니다.
그런데 패킷들 캡쳐해와야 되는데 소스를 어디서 구해야하죠ㅠㅠ
그다음에 저장은 mysql로 하면 되는건가요?
제가 초보라서요... 많은 조언 부탁드립니다~

qudwns4546의 이미지

스케줄러 질문요! sched_setscheduler에서 SCHED_FIFO/SCEHD_RR은 왜 안먹힐까요?

일단 sched_setscheduler를 이용해서 FIFO/RR/NORMAL/BATCH 옵션 줘서 돌려보고 있습니다.
문제는 FIFO랑 RR로 옵션을 넣어줄 경우에는 -1로 실패가 뜹니다...
찾아보니 FIFO와 RR은 실시간 프로세스 스케줄링에서 지원하는 거라는데..
일반 배포판과 상관없이 원래되는데 코드를 잘못짜서 그런건지...
초보가 답답하네요...ㅠㅠ

kwan0914의 이미지

열거 타입 안전성을 조사하는 단순 프로그램

c++로 열거 타입의 안전성을 조사하는 단순프로그램인데요 올바르지 않은것을 적법하다고 판단해주는 10개의 다른 연산을 포함시켜야 합니다. 같은 연산을 포함하는 C#프로그램을 작성해야 하고 올바르지 않은 것중에서 몇개나 적법한 것으로 판단되는지 알아보기 위해 실행을 시켜야 하는데요 어떻게 해야 할까요....?

siba555의 이미지

stl 컨네이너 질문드립니다.

안녕하세요. std::vector을 사용하던중 궁금한게 있어서 문의 드립니다.

typedef struct _data{
unsigned long ulCopyDataType;
unsigned long ulCopyDataSize;
unsigned long ulUpdateCount;
} data;

std::vectorm_vData;
data dt;
m_vData.push_back(dt);

std::vector<*data>m_vData;
data *pdt = new data;
m_vData.push_back(pdt);

하나는 통째로 저장하고 하나는 주소를 저장하는데요. 성능상이나 이런거에 큰차이가 있나요??
만일 포인터를 저장하면 나중에 객체를 delete해줘야 하는 귀찮음이 있잖아요....

감사합니다.

mrhyunby의 이미지

타켓 표식을 출력하는 프로그램을 구현하려고하는데, 어플리케이션보다 상위로 특정 표식을 출력할 수 있을까요??

안녕하세요.

질문이 너무 난해하죠??

제가 구현하는 것은
A라는 기존의 프로그램(카메라의 영상 출력, 키보드, 마우스, 버튼 입력 처리 등)의 화면 위에 총의 가늠자와 같이 + (열 십자)선을 출력하려고 합니다.

다들 이 글을 보는 웹 브라우저 보다 상위에 열 십자선이 출력이 되고있는 거죠.. .그러면서 키보드와 마우스의 입력은 웹브라우저에서 가능하도록 하는...
이런 프로그램을 구현할 수 있을까요??

원래 구현하려면 A라는 프로그램 자체에 다 구현하면 되겠지만.. A라는 프로그램은 아직 정해지지 않아서요

로봇 보행 알고리즘 쪽이 전공이라서 이런 시스템 프로그래밍을 잘 모릅니다.
그래픽 드라이버 쪽을 만져야하는 것인지, 아니면 OS 쪽에서 접근해야하는 것인지 궁금합니다.

OS는 리눅스(우분투 계열), OSX, WINDOW 모두 생각하고있습니다.(각 OS마다 구현 방법이 다르겠지만요..)
도와주세요.ㅠㅠ 불금에 이런 질문 드려서 죄송합니다.

페이지

프로그래밍 QnA 구독하기