프로그래밍 QnA

stypr의 이미지

중복 로그인시 어케 못하게 할까요..

채팅 프로그램을 짜는데요..

클라이언트(윈도우) <-------------> 서버( 리눅스 C로 작성) <--> USER DB

test 라는 아이디가 두명이 접속을 했을때.. 한명을 팅기게 해야 하는데

어케 해야 할지를 모르겠습니다. 여러분이라면 어떻게 처리 하시겠습니까

실시간으로 바로 팅기게 하여 ... 다른 사람이 로그인 하여 로그아웃 되었습니다 라는 메세지를 보내주고 싶거든요.

서버 프로그램은 C로 pthread 를 이용하여.. 짰거든요.

geneven의 이미지

자바입문책 부탁드립니다

학교에서 자바수업을 듣게 되었는데 강사의 특성상(?) 거의 모든 부분을 독학으로 해야할꺼 같네요. 입문자가 독학을위해 볼수있는 책 부탁드려요

ksc97의 이미지

리눅스 커널 소스 재 질문

제가 하는 프로젝트는 우선 VoIP를 사용하여 사용자(클라이언트)가 서버에 접

속하여 인터넷폰을 사용하는데..중간에 즉 해커가 사용자 대신 사용하는것으로

VoIP에 사용되는 SIP에서 사용되는 HTTP Authentication의 취약점을 공격하

는 프로젝트입니다.

즉 하려는 것은 해커의 컴퓨터가 라우터가 되어서 클라이언트가 서버로 패킷을

보내면 라우터로 거치게 되고 라우터는 소스 아이피를 라우터 아이피로 해서 서

버로 보내게 됩니다. 그럼 서버는 클라이언트에 대한 인증이 필요하기 때문에

new5244의 이미지

fopen() 에서 Segmentation falut 문제

저의 개발 환경입니다.

Quote:

Redhat 7.3 kernel 2.4.18-3
glibc 2.2.5-34
gcc 2.96

데몬 프로그램을 만들고 있는데 갑자기 이유 없이 죽는 현상이 발생합니다.
gdb 로 trace 를 해봤더니 fopen() 에서 호출된 chunk_alloc() 에서 segmentation fault 가 발생하더군요.

혹시나 해서 이 프로그램을 hancom linux 3.1 에서 테스트를 해보니 정상적으로 돌더군요. hancom 환경은 glibc-2.3.1-6, gcc 3.2.2 입니다.

일반적인 경우는 아닌것 같은데, 혹시 제가 사용하는 glibc 에 버그가 있는 것인가요?

cccc2002의 이미지

소켓으로 짜는 프로그램인데요...포크로..

아래의 기능을 포크를 이용해서 다시 만들고 있습니다.
처음 접속되고 나서 데이터가 한번은 잘 넘어갑니다.
그런데 연결된 상태에서 다시 한번 데이터를 넘기면

A에는 ******Broken pipe*****
B에는 *****recv error: Interrupted system call******

에러가 나서 두컴퓨터가 죽어버립니다.
어디가 문제인가요? 다시 한번 고수님들의 의견을 묻고 싶습니다.

Quote:

A클라이언트로 부터 (데이타+특정 아이피)를 받아서 B서버는 특정아이피로 받은 데이터를 넘기는 프로그램을 짜고 있습니다.
kiss의 이미지

void * 를 통해 값 받기 ?

void test(int * k)
{
int s;
s = 3;
* k = s;
}

void test3(void * pp)
{
void * tt;

tt = (void *)0x33;

pp = (void *)tt;

}

int main()
{
int i = 2;
void * xx;

xx = (void *)0x22;

printf("i = %d\n", i);
test(&i);

printf("i = %d\n", i);

printf("xx = 0x%08x\n",xx );

test3(&xx);

printf("xx = 0x%08x\n",xx );

return 1;
}

i = 2
i = 3
xx = 0x00000022
xx = 0x00000022

위에 소스에서 i 값은 잘 바뀌는데 xx 값은 왜 안바뀔까요 ?

생각에는 test3 함수에서 * pp = (void *)tt; 해야 할 것 같은데

inoxcrom의 이미지

mysql api 를 이용하여 외부에서 접속 할때...

안녕하세요?

일단 Telnet으로 로그인 했을 때에는 Mysql 실행이 잘 되는데요..

전 어플리케이션에서 Mysql API 를 이용하여 접속을 하고 싶거든요

if(!mysql_real_connect(&mysql, "xxx.xxx.xxx.xxx", "abcd","abcd",
"mysql" ,3306, (char *)NULL, 0))

이런 명령어를 쓰거나

telnet xxx.xxx.xxx.xxx 3306 명령어를 이용해서 접속을 해보면

Host 'aaa.aaa.aaa.aaa' is not allowed to connect to this MySQL server

라는 메세지가 뜹니다.

서버 쪽에서 설정을 해줘야 할 게 있나요..?
그리고 여기서 쓰는 아이디랑 비밀 번호는 텔넷 로그인 할때 쓰는 계정으로 해주면 되지요..?

ksc97의 이미지

리눅스 커널 소스 질문

제가 요즘 하는 프로젝트가 있는데 내용은 클라이언트와 서버가 있는데

구현할것은 중간에 라우터가 있어서 클라이언트가 보낸 패킷이 라우터를 거쳐

서 라우터에서는 그 패킷의 소스 아이피는 라우터 아이피로 고쳐서 서버로 보내

는 기능을 하는 라우터를 해야하는데 커널 소스를 고쳐서 하면 된다구 해야하는

데 막상 어디서 부터 해야할찌 몰라서 이렇게 질문 드립니다.

많은 조언 부탁드립니다....

kimsk99의 이미지

Thread Idle

Solaris에서 pthread를 이용해서 multithread programming을 하고 있습니다.

수행해야할 작업이 없어서 잠시동안 thread를 idle시켜야 할 때 어떻게 해야 할까요?

여러가지 방법을 찾아 봤지만 명확한 방법을 찾지 못했습니다.

제가 찾아본 방법과 그것에 따른 문제점을 정리해 보면 다음과 같습니다.

1. sleep(int)
sleep시간을 0으로 넣으면 idle상태가 존재하지 않고 CPU를 100%점유하고, 1초씩 시간을 넣으면 대기 시간이 많아져서 reponse에 문제가 따라서 포기.

2. usleep(int)

래리버드의 이미지

[질문] 네트워크 프로그램에서 상대방 OS를 아는 방법...

네트워크 프로그램에서 통신하는 상대방의 OS가 리눅스인지, 윈도우지 또 윈도우라면

98인지, 2000인지, XP인지 구별 할 수 있는 무슨 방법이 있나요?

아니면, 서버와 클라이언트간에 서로 예약된 프로토콜 가지고 판단을 하는 건지..

아시는 분 답변 좀 주세요..

즐거운 하루 되세요..

페이지

프로그래밍 QnA 구독하기