프로그래밍 QnA

jsseal의 이미지

edonkey 멀티 다운로드에 대해서 질문

여러 peer들에게 파일을 다운로드 받아서 하나로 합쳐야 할 것입니다. 그래서 이러한 합치는 과정이 어떤 방식으로 이루어지는지 알고 싶은데 어떻게 접근해야 할 지 궁금합니다.

rokmn3309의 이미지

eml 형식으로 저장되는 메일을 지정된 메일서버로 보낼려고 하는

안녕하세요..
eml형식으로 메일이 저장되면은 , 프로그램으로 파일을 읽어서 지정된 메일서버로 발송하게 할려고 합니다.
제일 간단히 보낼수 있는 방법이 어떤게 있을까요?

할려는 이유가 전용메일서버가 따로 있고 여러대의 서버와 웹서버들이 붙어 있는데, 각각의 서버에서 php로
메일 발송하는것을 전용메일서버를 통해서 나가게 할려고 해서 입니다.

간단히 말해서 메일서버의 relay를 이용해서 보낼려고 합니다.

ssehoony의 이미지

socket send buf 사이즈에 대한 질문

서버의 socket send buf 를 setsockopt 를 이용해 1메가로 셋팅하고 소켓을 non-block 로 셋팅하고 데이터를 송신을 합니다.
client 의 네트워크 처리 속도가 서버의 send 데이터량을 감당할 수 을 정도로 서버에서 많을 양을 쏩니다.
이렇게 되면 네트워크 delay 로 인해 서버측 socket의 send buf에는 데이터가 쌓여가다가 send buf 사이즈인 1메가에 도달하면 write 함수에서 EAGAIN 을 리턴합니다.

위에 있는게 제가 생각하는 통신 시나리오입니다.
근데 실상 send buf 가 20~30K 정도 쌓여있는데 EAGAIN 이 리턴됩니다. 여기에 의문이 생기는거죠. 1메가까지는 버텨야 하는거 아닌가 하는...

dionysos의 이미지

어셈블러에서 메모리 지정문제 어떻게 하고 있을까요..

어셈블러에서 메모리 명령어들의 주소 공간을 어떡게 access할수

있나요

예를 들면 32비트 컴퓨터에는 2의 32성 까지 4G까지의 메모리를

access할수 있는데 어셈블러 명령어를 보면 ADD m이라고 한다

면 메모리에 binary코드를 로드하고 cpu가 32비트씩 fetch

execute있다면 예를들어 opcode가 8bit 이고, flag가 8bit라고

한다면 나머지인 16bit의 주소공간(15M)을 엑세스할수 밖에 없지

않은가요(물론 base를 사용한다고 해도 프로그램 크기가 16M까

지밖에 안됨니다) 이걸 어떻게 해결하고 있을까요.

ckebabo의 이미지

서버의 디렉토리 정보를 클라이언트로 보내는데...

서버의 디렉토리 정보를 클라이언트로 보내야 하는데 클라이언트에서 데이터를 받지 못하고 있습니다.

server.c
[code:1]
84 getcwd(buf, BUFSIZ);
85 dp = opendir(buf);
86
87 while((entry = readdir(dp)) != NULL) {
88 if(entry->d_name[0] != '.') {
89 printf("%s\t",entry->d_name);
90 send(socketfd, entry->d_name, trlen(entry->d_name)+1, 0);
91 printf("after send: %s\n", entry->d_name);

rimuzzang의 이미지

시스템 콜 추가후, 실행시 아무것도 안뜨는 현상..

1. include/asm/unisted.h

#define __NR_alloc_hugepages 250
#define __NR_free_hugepages 251
#define __NR_exit_group 252
#define __NR_newsyscall 259

2. /arch/i386/kernel/entry.S

ENTRY(sys_call_table)
...
.long SYMBOL_NAME(sys_ni_syscall)
.long SYMBOL_NAME(sys_ni_syscall)
.long SYMBOL_NAME(sys_ni_syscall)
.long SYMBOL_NAME(sys_ni_syscall)
.long SYMBOL_NAME(sys_ni_syscall)
.long SYMBOL_NAME(sys_newsyscall)

3. kernel/ (mysyscall.c)

#include <linux/unistd.h>
#include <linux/errno.h>

kimjkr21의 이미지

[급질!!!] **string의 내용을 *string2으로 옮기는 방법이요..

제가 프로그램 짜다가
이중포인터에 저장된 스트링을 다시 포인터에 저장해야하는데..
포인터와 이중 포인터간의 구분을 명확하게 못하겠어요..

(예1)
char *str="abcde";
char **str2;

질문 1;
str2로 str의 내용을 복사할수 있을까요?

질문 2;
str로 str2의 내용을 복사할수 있는 방법 없을까요? 원래 str2가 일차원 포인터라면 strcat나 strcpy등등을 사용할수 있을건데, 이 함수들은 일차원 배열을 기본으로해서 처리해주는 함수들이라서 컴파일할때 warning: invalid pointer type..!!!.이라고 뜨거든요..위 두 가지 경우에 대해서 해결할 방법좀 갈켜주세요..상세한 설명좀 부탁드립니다. 책을 봐도 이해가 안가요..ㅜㅜ 포인터는 정말 어려워용..

ckebabo의 이미지

소켓 프로그래밍 중 한번밖에는 실행이 안됩니다.

server.c
[code:1]#include "app.h"

int main()
{
int server_sockfd, client_sockfd;
int server_len, client_len;
struct sockaddr_in server_address;
struct sockaddr_in client_address;

/* 소켓생성, 명명 */
server_sockfd = NEW_SOCKET;
server_address.sin_family = AF_INET;
server_address.sin_addr.s_addr = htonl(INADDR_ANY);
server_address.sin_port = htons(APP_PORT);
server_len = sizeof(server_address);
bind(server_sockfd, (struct sockaddr *)&server_address, server_len);

listen(server_sockfd, 10);

imdsoho의 이미지

gaim 설치시 rpm에러..

gaim을 설치하려고 합니다.

경고 : gaim-1.1.40fc1.i386.rpm : V3 DSA signature NOKEY Key ID xxxxxxxxxxxxx

오류 : Failed dependencies
libaspell.so. is needed by gaim1.1.40fc1
libgtkspell.so 0 is needed by gaim1.1.40fc1

이런 오류가 발생하면서 설치가 안됩니다.
무슨 오류인지 잘 모르겠네요.

의존성에러이면.. gaim설치하기 전에 또 무엇을 설치해야하는건가요?

PS.
다른 rpm 파일 설치도 안됩니다.

혹, rpm만 팩키지를 다시 설치할 수 있나요?
그렇게 할 수 있으면.. 방법

ningoi의 이미지

Pro * C 스레드 작업중에서...

Pro * C 를 이용해서 작업을 하고 있습니다. 서버를 구축하고 있는데요

프로그램은..단순 DB 미들 서버 역할을 하고 있는겁니다.

클라이언트가 서버에 요청을 하면 서버는

int main()

{

create_pthread 생성

}

스레드 함수()

{
pthread_detach();
sql_contex ctx;

EXEC SQL CONTEXT AOLLOCATE :ctx;

EXEC SQL CONTEXT USE :ctx;

while(1)

{

ddr= read(...)

if(ddr <= 0)

{

연결 끊기 ..->EXEC SQL CONTEXT FREE :ctx;

페이지

프로그래밍 QnA 구독하기