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

clapmin의 이미지

C서버/ 안드로이드 클라이언트 TCP통신 질문드립니다

제가 안드로이드 앱과 c언어로 서버를 만들고 있습니다.

앱을 실행한 사용자를 받아서 스레드를 생성해서 처리하고 있습니다.

이과정에서 whlie문을 통해 스레드를 유지시키고 있는데 이 안에서 지속적으로 client로 부터 들어오는 데이터를 읽어서 처리하려고 합니다.

여기서 제가 생각하는 문제는 버퍼에있는 내용을 읽기 위해 무차별적으로 read()나 recv()를 하게되면 사용자가 많아질 경우에는 심각한 부담이 될거라 생각합니다.

그렇기 때문에 만약 서버에서 클라이언트가 데이터를 보낸 사실을 인지하고 read()나 recv()를 하게되면 효율적이지 않을까 생각해서 질문드립니다.

질문의 요지는 결국 클라이언트에서 데이터를 보내면 서버는 그 사실을 알아차릴 수 있는 방법이 있느냐 입니다.

alswlek의 이미지

'

rnoci의 이미지

안녕하세요 10초전에 가입한 신입입니다. 근데 질문이 있어요

안녕하세요!

제가 친구한테 어찌어찌 받은 컴퓨터가 debian kali linux 입니다.

해킹컴퓨터라고 알고있고 잘 사용하기 위해 지금은 공부중입니다.

근데! 영어만 있어서 한국말을 설치를 했는데요... toggle이 안되요

한국 웹같은건 다 잘 보이는데 안 깨지는데 한국어로 바꿨는데도 안써지더라구요...

어떢하죠? 그친구는 해외사는 친구고... 제가 큰소리를 쳐서 가르쳐달라고하면

비웃을 것 같아서... 못 물어보겠어요...

가르쳐주실분~ 어디 없나요?

gusrbs82의 이미지

Qt QCheckBox signal, slot으로 다른 QCheckBox 상태 변화 질문

안녕하세요.

QCheckbox A, B가 있다고 가정할때요.

A가 체크 true가 됬을때 B는 false상태가 되고,

B가 체크 true가 됬을 때 A는 false상태가 되는 법을 QCheckbox에 있는 signal, slot으로

가능할까요???

connect(A, signal(click(bool)), B, slot(setChecked(bool)));
connect(B, signal(click(bool)), A, slot(setChecked(bool))); 의 방법으로는 안되는 것 같아서....

질문을 올리게 되었습니다.

toggled(bool)이란 것도 사용해보고... (사실 이게 어떤 기능을 하는지는 자세하게 모릅니다... ㅠㅠ)

release()라는 것도 해보았지만... 제가 원하는 결과는 나오지 않아 해매고 있네요...

아직 object나 widget들의 signal이나 slot에 익숙하지가 않아서;;;

한수 배우고 싶습니다.

gurumong의 이미지

디바이스 드라이버 개발을 배우는데, 구형 커널 기준의 책이 도움이 될까요?

디바이스 드라이버 만드는것을 좀 배워보고 싶습니다
(라즈베리파이 등등 초소형 컴퓨터를 위해서...)

시중의 책들을 찾아보니 이상하게도
아주 오래된 커널 버전 2.4나 2.6 기준의 책들밖에 없더라구요

지금의 커널은 4.x가 넘어가는데
이렇게 오래된 책들이 도움이 될까요?
오래된 만큼 작게는 함수라던지 크게는 커널 구조 같은 것들이 많이 변해서 지금은 전혀 쓸모가 없지 않을까 그런 생각이 들어서요
그렇다고 최신 버전의 커널에서 디바이스 드라이버 개발을 소개하는 번역서는 또 없기도 하구요

korea0130의 이미지

Recursive-Descent parsing으로 계산기 짠건데.. 질문이 있습니다.

재귀를 이용하여 간단한 계산기 짜는 프로그램인데요.. (계산기를 짠다기보다 인터프리터를 짠다는게 맞는거 같긴하지만..)

예를들어 12+3을 입력하면 15가 나오는 프로그램입니다.

다 생략하고 궁금한 부분만 올리겠습니다.

함수를 돌고 돌다 마지막 값을 구하는 함수(number함수)에서

n = n*10 + c-'0';

이런게 있는데... c-'0' 이걸 하는 이유가 뭔가요?

n*10은 이해가 되는데.. 뒤에 c에 '0'을 빼주는 이유가 뭔가요?ㅠㅠ

#include
#include
#include

int c;
int expression(void);

void error(char *msg) {
puts(msg);
exit(1);
}

void next(void) {
c = getchar();
if (c==EOF) error("char expected");
}

rbqjalrbqjal의 이미지

쓰레드를 처음만지는데...


#include
#include
using namespace std;
#include
DWORD __stdcall ThreadFunc(LPVOID Param);

typedef struct stThreadParam{
int id;
int sleeptime;
} ThreadParam;

int main()
{
HANDLE hThread[4];
DWORD ThreadID[4];
ThreadParam tp[4];
for(int i=0; i < 4; i++) {
tp[i].id = i;
tp[i].sleeptime = i*200;
hThread[i] = CreateThread(NULL, 0,
ThreadFunc, &tp[i], 0, &ThreadID[i]);
}

eoen2eoen의 이미지

cmd로 실행중인 서버 프로세서를 제어하려면 어떻게 해야되나요

초보라서 여기에 글을 올리기 좀 그렇지만

현재 서버 역할을 하는 프로세서를 하나 구현했는데요,

현재는 클라이언트가 접속하면 thread로 빼놔서
클라이언트가 요청을 하면 응답되게끔만 되어있어서,

cmd에서 함수명 등을 호출하면 실행 도중 클라이언트에게 요청도 보내는 방법을 찾고있는데

아무리 찾아봐도 이해가 잘 안되서요..

참고할만한 자료가 어디 없을까요..? 방법이나..

gets를 이용해서 하려했더니 그러면 너무 지저분 하다며 꼭 따로 만들라 하더군요 ㅠ

페이지

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