#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/time.h>
#include <string.h>
#define MAXLINE 9999
#define MAX_SOCK 128
int main(int argc, char *argv[])
{
FILE *fp=NULL;
char line[MAXLINE], message[MAXLINE+1], filename[MAXLINE+1];
struct sockaddr_in server_addr;
int maxfdp1;
int ____socket; /* 서버와 연결된 소켓번호 */
fd_set read_fds;
int kk=0;
if (argc != 4) {
printf("Usage : %s server_ip port filename\n", argv[0]);
printf("%s 127.0.0.1 12572 /usr2/suksu/ftp/BATCH_A0011.dat\n", argv[0]);
exit(0);
}
sprintf(filename, "%s", argv[3]);
if((fp=fopen(filename, "rt"))==NULL) exit(0);
/* 소켓 생성 */
if ((____socket = socket(PF_INET, SOCK_STREAM, 0)) < 0) {
printf("Client: Can't open stream socket.\n");
exit(0);
}
/* 채팅 서버의 소켓주소 구조체 server_addr 초기화 */
bzero((char *)&server_addr, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = inet_addr(argv[1]);
server_addr.sin_port = htons(atoi(argv[2]));
/* 연결요청 */
if (connect(____socket, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
printf("Client: Can't connect to server.\n");
exit(0);
}
else
{
printf("Connected with server succ!!\n");
}
while (1)
{
memset(line,0x00,sizeof(line));
if(fgets(line,sizeof(line),fp)==NULL) break;
line[strlen(line)-1]=0x00;
if (send(____socket, line, strlen(line), 0) < 0)
{
printf("Client: Write error on socket.\n");
break;
}
//printf("%s\n", line);
usleep(4444);
kk++;
}
close(____socket);
if(fp != NULL) fclose(fp);
printf("FileName[%s] :[%05d]\n", filename, kk);
}
'통신 > SELECT(TCP)' 카테고리의 다른 글
KOSCOM DATA,RECV,SELECT MODEL SERVER (0) | 2020.08.25 |
---|---|
WINDOWS,CLIENT,THREAD(FILE READ SEND),BASIC(RECV),FILE SAVE(DIFF) (0) | 2019.10.29 |
WINDOWS,SERVER,SELECT(FILE RECV),BASIC(SEND),FILE SAVE(DIFF) (0) | 2019.10.29 |
WINDOWS,SERVER,SELECT(FILE RECV),BASIC(SEND) (0) | 2019.10.29 |
WINDOWS,CLIENT,THREAD(FILE READ SEND),BASIC(RECV) (0) | 2019.10.29 |