5.1 Echo Client (TCP기반)
- 최초 등록일
- 2011.10.28
- 최종 저작일
- 2011.10
- 3페이지/ 어도비 PDF
- 가격 1,000원
소개글
TCP/IP소켓프로그래밍 이론
목차
없음
본문내용
★ TCP 기반의 데이터 전송 특징
- 한번의 데이터 전송함수 호출(Write, Send)이 늘 하나의 패킷을 형성하는 것은 아니다.
(Client -> Server) 로 전송할 때, ABCD가 꼭 하나의 패킷으로 형성 해서 가는 것은 아니다.
(Server -> Client) TCP 기반 소켓을 생성해서, 데이터 전송 할 경우, 위와 같이 AB가 먼저 도착하고 C 가 전송되고, D가 전송되는 일이 비일 비제 하게 발생한다.
(Echo 서버를 TCP 기반 소켓으로 하면 생기는 문제점)
- Server가 Client로 A,B가 먼저 도착 한 상태에서, Client가 Read() 함수를 호출하게 되면, AB만 읽어 들이고, C와 D를 호출 할려면, 또 다시 Read() 함수를 호출 해야 되는 문제점이 생긴다. (TCP 기반 문제점 - Server문제 X , Client 문제 O)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/socket.h>
void error_handling(char *message);
int main(int argc, char **argv){
int sock;
char message[30];
int str_len, recv_len, recv_num;
struct sockaddr_in serv_addr;
if(argc!=3){
printf("Usage : %s <IP> <port>\n", argv[0]);
exit(1);
참고 자료
없음