프로그래밍 QnA

익명 사용자의 이미지

SMTP를 이용해서 메일보낼때 받는사람 표시문제.

제목처럼 smtp를 이용해서 소켓을열구 들어가서 메일을 보낼때 말입니다

받는사람을 TEST 이런식으로 적어서 보내면
보통 아웃룩 같은걸루 보면 받는사람에 TEST로 올라오잖아요...

<?
$fp = fsockopen("127.0.0.1",25,&$errno, &$errstr, 30);

set_socket_blocking($fp,1);
$smtp_msg = fgets($fp,255);

fputs($fp,"HELO www.hangil.net\r\n");
$smtp_msg = fgets($fp,255);


fputs($fp,"MAIL from $from\r\n");

$smtp_msg = fgets($fp,255);

for ($i=0; $i < $email_cnt; $i++)
{
fputs($fp,"RCPT to $to_email[$i]\r\n");

익명 사용자의 이미지

The C programming language 예제 버그?

요즘 다시 C를 하고 있는데요..
The C programming language 이 책의 예제중 잘 못 된게 있는 것 같아서..
페이지 47에 있는 squeeze함수가 그런데..
이걸 실제로 쳐서 컴파일뒤에 실행하면 세그멘테이션 오류가 납니다..
#include
void squeeze(char s[], int);
main()
{
char *a = "abcdef";
int c = 'a';
squeeze(a, c);
printf("%s", a);
return 0;
}
void squeeze(char s[], int c)
{
int i, j;
for ( i = j = 0; s[i] != '\0'; i++)
if ( s[i] != c)
s[j++] = s[i];
s[j] = '\0';
}
이렇게 해서 컴파일 했는데, Segmentation fault가 뜨더군요..

익명 사용자의 이미지

포그라운드로 실행되던 프로세스가 백그라운드로 실행이 될때..

두개의 머신이 있습니다.

한쪽엔 서버를 두고 한쪽에는 클라이언트겸 서버가 있습니다.
클라이언트겸 서버(이상 서버2라고 부르겠습니다.)가
포그라운드로 백그라운드로 돌면서..

서버1으로 보내는 메세지가 주번 연속해서 가더군요..
즉 hangup시그널을 받으면서 백그라운드로 가는거거덩여..

즉 서버2로 nohup으로 해서 백그라운드로 실행을 시키면 괜찬으나 나머지
경우 시그널받아서 백그라운드로 전환되면서 패킷이 두번 가더군요..

결국 재 생각에는 시그널 받아서 백그라운드로 가면서..

익명 사용자의 이미지

&quot;/dev/zero를 이용한 mmap에 대한 질문&quot;

다음은 구동 프로그램입니다.

#include
#include
#include
#include
#include
#include

typedef struct _song
{
int a;
char b[8];
} t_song;

t_song *p_song;

void main(int argc, char **argv)
{
int input, output, count = 3, i, size;
size_t filesize;
void *source, *target;
char *endchar = '\0';

if(argc != 2)
{
fprintf(stderr, "usage copyfile source\n");
exit(1);
}

if((input = open(argv[1], O_RDWR| O_CREAT | O_TRUNC, 0666)) == -
1)

익명 사용자의 이미지

TCP/IP 관련 질문이여

HTTP프로토콜을 이용하여 데이터를 송수신하는 프로그램을 작성하여 테스
트하는데 문제가 발생해서 질문 드립니다.
다름이 아니라 서버에서 데이터를 읽을때 시간을 체크하여 그 시간이 초과
되면 연결을 끊을려구 하는데 이상하게 Read()함수에서 걸려서 넘어갈생각
을 안하네여..
그래서 select()함수을 적용해서 타임아웃을 20초 걸었는데 끊어지기는 하
는데 정확히 20초에 끊기는 경우도 있구 그 이상 넘어서 끊어지는 경우가
있더라구여. 그리구 아예 끊기지 않는 경우두 있구여.

익명 사용자의 이미지

입력 버퍼 지울때

read함수를 써서 키보드 입력을 받아들인 후 입력 버퍼를 지우려고 합니
다.

read(STD_IN,&reply,1);

입력은 이렇게 받고..

ioctl함수를 써서 버퍼를 지우려는데 parameter값을 잘 모르겠습니다..

ioctl(STD_IN,FIOFLUSH, ? )

vxworks 환경인데 tcflush 함수가 없네요..

아래는 ioctl함수 선언입니다...

extern int ioctl (int fd, int function, int arg);

/* ioctl function codes */

#define FIONREAD 1 /* get num chars available to read */
#define FIOFLUSH 2 /* flush any chars in buffers */
.........................

익명 사용자의 이미지

이거..도저히 이해가 않 됩니다.

#include
#include

typedef struct _song
{
int a;
char b[5];
} t_song;

t_song *p_song;

void main(void)
{
t_song song;
printf("a size %d, b size %d\n", sizeof(p_song->a), sizeof
(p_song->b));
printf("total size is %d\n", sizeof(p_song));
printf("total size is %d\n", sizeof(t_song));
printf("a size %d, b size %d\n", sizeof(song.a), sizeof(song.b));
printf("total size is %d\n", sizeof(song));
}

************결과**************

a size 4, b size 5
total size is 4
total size is 12
a size 4, b size 5
total size is 12

익명 사용자의 이미지

[질문]리눅스가 지원하는 최대 File descriptor 크기 얻는 방법

안녕하세요. 리눅스 초보 사용자인데요..
1) 소켓 연결시에....Linux OS가 제공하는 최대 FD값을 알려면 어디서 찾
아볼수 있는지요?
이게 FD_SIZE 정의되어 있는 값을 찾아볼려고 하는데 잘 모르겠네요.

2) 그리고, 만약 제한값보다..더 많은 연결을 제공하려고 하면, 어떻게 조
정하면 되는지 아시는분 계신가요?

도움 부탁드려요...^^;

익명 사용자의 이미지

네트워크 프로그램에서 연결형과 비연결형의 차이점이란....?

제가 지금 리눅스 서버와 윈도우 프로그램에서 서로 네트워크 프로그램 연
습을 하고 있는데 한가지 의문이 생겼습니다. 윈도우에서 클라이언트 프
로그램을 구동하고 리눅스에서 서버 프로그램을 돌려서 서로 통신하는 프
로그램을 짜고 있는데 socket함수에서 통신하는 방식은 2가지로 알고있습
니다. 하나는 SOCK_DGRAM, 다른 하나는 SOCK_STREAM 입니다. 그런데 이
상하게 SOCK_DGRAM으로 설정하고 통신하면 리눅스에서 잘 받았다고 메시지
를 띄우는게 보이는데 SOCK_STREAM으로 설정하면 전혀 먹통이 됩니다.

익명 사용자의 이미지

reDefinition fo struct in_pktinfo ..

Unix network programming
을 리눅스에서 공부하고 있는데 첫번째 예제 daytime 예제에서
위와 같은 에러가 나는데...
어떻게 해줘야 할지 막막하네요..
경험 있으신 분들 도움좀 주세요..
Redhat 7.1 한글 에서 gcc로 컴파일 했

페이지

프로그래밍 QnA 구독하기