2006년 02월 03일
TCP/IP를 이용한 파일전송 프로그램 -updated-
간만의 프로그래밍이라 의욕이 없어서 고생했다. ㅠㅠ. 몇일간 이거 하느라 포스팅도 못하공..
구현 사항 :
클라이언트 접속시 IP와 Port 번호 출력 / 파일 이름과 사이즈 출력 / 파일 전송 진행 % 출력
추가 구현 사항 :
- 파일 권한 설정 (open 함수 옵션으로 해결 -_-;)
- ncurses로 그래픽 구현
미구현 사항 :
-파일 전송후 받은 파일의 권한 설정문제
: open 함수 옵션으로 파일권한을 주는 것보다 원본 파일의 권한을 조사해서 매치시키는것이 좋을뜻( 시간만 있다면 -_-; )
- ncurses를 이용해서 프로그래스 바를 만들어 보자.
- 암호화 구현
- 함수 정리
처음부터 함수 염두에 안두고 그냥 다 때려넣다 보니 막상 함수 정리 할려니... orz 걍 놔뒀다.
tcpip.rar : 밑에 소스와는 조금 다름 / ncurses 소스가 추가되어있음
//--------------------------------------------------------------
서버
//--------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
#include <fcntl.h>
#define MAXLINE 127
int main(int argc, char *argv[])
{
struct sockaddr_in servaddr, cliaddr;
int listen_sock, accp_sock, // 소켓번호
addrlen = sizeof(cliaddr), // 주소구조체 길이
nbyte, nbuf;
char buf[MAXLINE+1];
char cli_ip[20];
char filename[20];
int filesize=0;
int total=0, sread, fp;
if(argc != 2) {
printf("usage: %s port ", argv[0]);
exit(0);
}
// 소켓 생성
if((listen_sock = socket(PF_INET, SOCK_STREAM, 0)) < 0) {
perror("socket fail");
exit(0);
}
// servaddr을 '
구현 사항 :
클라이언트 접속시 IP와 Port 번호 출력 / 파일 이름과 사이즈 출력 / 파일 전송 진행 % 출력
추가 구현 사항 :
- 파일 권한 설정 (open 함수 옵션으로 해결 -_-;)
- ncurses로 그래픽 구현
미구현 사항 :
-파일 전송후 받은 파일의 권한 설정문제
: open 함수 옵션으로 파일권한을 주는 것보다 원본 파일의 권한을 조사해서 매치시키는것이 좋을뜻( 시간만 있다면 -_-; )
- ncurses를 이용해서 프로그래스 바를 만들어 보자.
- 암호화 구현
- 함수 정리
처음부터 함수 염두에 안두고 그냥 다 때려넣다 보니 막상 함수 정리 할려니... orz 걍 놔뒀다.
tcpip.rar : 밑에 소스와는 조금 다름 / ncurses 소스가 추가되어있음
//--------------------------------------------------------------
서버
//--------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
#include <fcntl.h>
#define MAXLINE 127
int main(int argc, char *argv[])
{
struct sockaddr_in servaddr, cliaddr;
int listen_sock, accp_sock, // 소켓번호
addrlen = sizeof(cliaddr), // 주소구조체 길이
nbyte, nbuf;
char buf[MAXLINE+1];
char cli_ip[20];
char filename[20];
int filesize=0;
int total=0, sread, fp;
if(argc != 2) {
printf("usage: %s port ", argv[0]);
exit(0);
}
// 소켓 생성
if((listen_sock = socket(PF_INET, SOCK_STREAM, 0)) < 0) {
perror("socket fail");
exit(0);
}
// servaddr을 '
# by | 2006/02/03 19:38 | Programing | 트랙백(1) | 덧글(2)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : TCP/IP를 이용한 파일전송 프로그램 -updat..
TCP/IP를 이용한 파일전송 프로그램 -updated- 어렵다 어려워 ㅠㅠ...more