클라이언트 소스
자신의 아이피의 530 포트로 접속을 시도하여 메세지를 보내고 Sever로부터 메세지를 받아서 출력하는 간단한 기능
0000 을 보낼경우 Socket Close
#include <stdio.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <strings.h>
#define PORT 530
#define IPADDR "127.0.0.1"
char buffer[BUFSIZ];
char exitstring[4]="0000";
main( )
{
int c_socket;
struct sockaddr_in c_addr;
int len;
char rcvBuffer[BUFSIZ];
int n;
c_socket = socket(PF_INET, SOCK_STREAM, 0);
memset(&c_addr, 0, sizeof(c_addr));
c_addr.sin_addr.s_addr = inet_addr(IPADDR);
c_addr.sin_family = AF_INET;
c_addr.sin_port = htons(PORT);
if(connect(c_socket, (struct sockaddr *) &c_addr, sizeof(c_addr)) == -1) {
printf("Can not connect Sever\n");
close(c_socket);
return -1;
}
while(1)
{
printf("Enter to send message : ");
scanf("%s", buffer);
if(strcmp(exitstring, buffer)==0)
break;
buffer[strlen(buffer)] = '\0';
write(c_socket, buffer, strlen(buffer)+1);
if((n = read(c_socket, rcvBuffer, sizeof(rcvBuffer))) < 0) {
return (-1);
}
rcvBuffer[n] = '\0';
printf("received Data : %s\n", rcvBuffer);
}
close(c_socket);
}