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

삼구의신의 이미지

기능 알고리즘 구현 고민


먼저 기능을 설명하자면

A,B,C,D 라는 장비가 있고 아래처럼 연결되어 이더넷 통신을 하는 상태입니다.
각각의 장비는 A와 연결이되면 연결된 순서대로 ID 값을 갖게됩니다.

A - B(ID:1) - C(ID:2) - D(ID:3)

위 상태에서 B가 어떤 이유로 인해 장비가 꺼진다면 B장비가 hub처럼 동작하여

A 와 C.D 장비를 이더넷 통신이 가능하도록 Bypass mode로 동작하고 C와 D의 ID값이 H/W적으로 바뀝니다.

A - B(Bypass mode) - C(ID:1) - D(ID:2)

이때 A에서는 B장비가 끊기고 C,D 장비로부터 이더넷을 통해 온다는것을 알아야하는데 어떻게 구현하면 좋을까요?

제가 생각한 한가지 방법은 A장비에 다른 장비가 연결이 된다면 MAC 정보와 ID값을 매칭시켜 저장했다가
하위 장비로부터 데이터를 받을 때 MAC정보와 ID값을 비교하여 Bypass mode로 변경됐는지 확인 하는것 입니다.

비겁한녀석@Naver의 이미지

Cent OS 7에서 최소 버전으로 설치해서 한글 입력

안녕하세요 리눅스 초보입니다

Cent OS 7을 최소 버전으로 설치를 했는데

vi에서 한글 입력이 안되고 한글로 된 부분이 깨져서 보이는데

X-Window를 설치해야 하나요?

아니면 터미널로만 가능한 방법이 있을까요?

qwertgbvcx1의 이미지

파이썬 while 문 질문이 있습니다.

사진에 있는 두 예제 에서 i=i+1 문장이 위에 있을때와
아래에 있을때랑 어떠한 차이점이 있나요? 출력은 다 같게 나옵니다.
이걸 알면 반복문은 거의 이해한거라고 교수님이 그러셨는데
아무리 생각해도 떠오르질 않네요.

익명 사용자의 이미지

EEPROM 질문입니다.

EEPROM에 데이터를 저장하고 껏다가 키면 데이터 값이 2씩 증가해 있는데

이 문제에 대해 경험하시거나 아시는 분 계시나요... 도와주세요...

twinwings의 이미지

동일 호스트의 VM간 트래픽이 외부를 거처서 이동합니다.

해결하려는 문제는 같은 호스트를 공유하는 VM간 트래픽이 외부 스위치/라우터를 거치는 바람에
쓰루풋이 매우 안나오는 상황입니다. 어떻게 해야 외부를 거치지 않고 통신할 수 있을까요?

일단 두 VM형상은 아래 그림처럼 되어 있구요.

1) 통신하고자 하는 VM의 IP 대역이 다릅니다. (IP대역은 같게 설정하면 브릿지를 통해서만 통신이 됩니다.)
2) NAT 쓰지 않습니다.
3) VM 내부에 상대 VM에 대한 MAC Learning은 되어 있습니다. (ARP 테이블에 수동입력한 상태입니다.)
4) 호스트의 라우팅 테이블 또한 수동으로 입력된 상태입니다.

max8276의 이미지

[질문]int에 값을 누적하는 간단한문제인데도 못하고있네요,,한번만봐주세요

#include <stdio.h>
int main()
{
	int n;
	int sum1 = 0;
	int sum2 = 0;
	scanf("%d", &n);
 
	for (int i = 0; i < n; i++) {
		i & 1 ? sum1 += i : sum2 += i;
	}
	printf("%d %d", sum1, sum2);
}

n까지 홀수일때 sum1에, 짝수일때 sum2에 값을 누적하는 문제입니다.
비트연산자와, for문 그리고 조건연산자를 사용하라는 조건이있어서 저렇게풀었어요
계속 '+=': 왼쪽 피연산자는 l-value이어야 합니다.
오류도 뜨고 i에 밑줄쳐지고 식이 수정할 수 있는 Ivalue여야합니다 라고뜨네요
sum1, 2 둘다 int값으로 선언돼있고, 0으로 초기화도 해서 문제가 없어보이는데 뭐가문제인거죠?

익명 사용자의 이미지

[질문]커널 업데이트 없이 최신 그래픽 드라이버 설치 가능할까요?

안녕하세요 리눅스 초보입니다.

무작정 설치하고 익혀가는 단계라 다른분들이 보기에 엉뚱한 질문일수 있는데요;;

CentOS 7.3.1611

커널 3.10.0-514.el7. x86_64

을 꼭 써야해서 일체의 커널 변경없이 최신 Intel CPU인 i7-8550U에 포함된 UHD620 그래픽을 잡고 싶습니다.

현재 GUI는 떠있지만 그래픽에는 Gallium 0.4 on llvmpipe (LLVM 3.8, 256 bits)
으로 잡혀있고 제가 알기에 이건 그래픽 드라이버가 잡힌 상황은 아니라 알고 있습니다.

외부 출력포트인 HDMI 와 RGB 포트를 활용해 다중 모니터를 쓰지 않는다면 현재 세팅대로 써도 큰 문제가 없긴한데
또 다중 모니터 환경이 되면 작업이 편해지는지라 방법을 찾고 있습니다.

혹시나 싶어 최신 리눅스들을 설치해보니 그래픽을 자동으로 잡긴하는데 아무래도 커널 업데이트가 필수인듯 해서
혹시 커널 업데이트 없이 잡는 방법이 있을까요?

익명 사용자의 이미지

이 상태에서 wait과 waitpid 차이가 있나요?

int pid = fork();
	if (pid == 0)
	{
		cout << "CHILD" << endl;
		exit(0);
	}
 
	int status;
 
	waitpid(pid, &status, 0);
	wait(&status);
 
	cout << "PARENTS" << endl;
	cout << WIFEXITED(status) << ", " << WEXITSTATUS(status) << endl;

위 코드에서 wait 과 waitpid 차이점이 있나요?

waitpid 옵션에 0을 넣었으니 wait과 별반 다르지 않는 것으로 알고있는데

현재 진행중인 프로젝트에서 왜 차이가 날까요...
waitpid으로 해야지 잘 작동하는데...

삼구의신의 이미지

socket udp port문제 질문드립니다.

linux udp 를 사용 중입니다.

udp sendto 할때 20000번 포트로 설정해서 전송한 것을 tcpdump로 확인하면 다른 포트로 전송되고 있습니다.
하지만 받는 쪽에선 20000번 포트로 제대로 들어오구요... 이건 왜그럴가요?

tcpdump 캡쳐 드립니다. 데이터도 깨지지않고 정상적으로 들어옵니다. 저는 분명 20000번 포트로 전송했는데
아래 tcp dump에선 43777포에서 보낸다고 나옵니다. 하지만 해당 장비에는 20000번 포트로 전동되네요..

송신측 : A에서 B로 전송할 때
12.31.240.240.43777 > 12.17.0.64.20000: [udp sum ok] UDP, length 17

수신측 : B에서 Data를 받았을 때
12.31.240.240.42042 > 12.17.0.64.20000: [udp sum ok] UDP, length 17

A라는 장비에서 20000 포트로 data를 전송하려고하면 송신할때 포트번호가 바뀝니다. 왜그런지 아시는분 있나요?

페이지

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