소켓 프로그래밍(TCP - Hello World 프로그램, UDP - 메시지 전달 프로그램)
*상*
다운로드
장바구니
소개글
TCP(Hello World 프로그램)1. 서버를 구동시킨 후 서버 Listen 상태에서 클라이언트가 접속
2. 접속된 클라이언트에게 서버는 Hello World라는 메시지를 전송하게 되고
이를 전송받은 클라이언트는 메시지를 화면에 보여줌
UDP(메시지 전달 프로그램)
1. Reciver 구동 후 대기
2. Sender 구동 후 Reciver에게 연속적인 메시지 전송이 가능
- 메시지의 길이는 40으로 고정
코드에 대한 주석 잘되어 있습니다.
10점 만점에 10점 받은 과제입니다.
컴파일 실행환경
Microsoft VIsual Studio 2008 (C++)본문내용
// TCP 서버 프로그램#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
void ErrorHandling(char *);
int main(int argc, char **argv)
{
WSADATA wsaData;
SOCKET hServSock;
SOCKET hClntSock;
SOCKADDR_IN servAddr;
SOCKADDR_IN clntAddr;
int szclntAddr;
char message[] = "Hello World!n";
if(argc != 2)
{
printf("Usage : %s <port>n", argv[0]);
exit(1);
}
// 소켓 초기화
// WSAStartup() 함수를 이용해서
// 윈도우 소켓이 정의되어 있는 WS2_32.DLL 파일 초기화
// 초기화가 성공하면 0 리턴
// WSAStartup(소켓 버전, 소켓에 관한 정보를 저장할 포인터)
if(WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
// WS2_32.DLL을 초기화하는데 실패했을 경우
// 오류메시지 출력하고 프로그램 종료
ErrorHandling("WS2_32.DLL을 초기화하는데 실패했습니다.nn");
// 서버 소켓 생성
// socket(소켓의 주소체계 설정, 소켓 타입 설정, 소켓의 프로토콜 설정)
// 주소 체계 : TCP/UDP의 경우 AF_INET(인터넷 기반 주소)
// 소켓 타입 : SOCK_STREAM(TCP) / SOCK_DGRAM(UDP)
// 프로토콜 : 인터넷 기반 주소인 경우 0
hServSock = socket(PF_INET, SOCK_STREAM, 0);
if(hServSock == INVALID_SOCKET)
{
WSACleanup();
ErrorHandling("소켓을 생성하는데 실패했습니다.nn");
}
압축파일 내 파일목록
소켓 프로그래밍(TCP,UDP).hwp
TCP_CLIENT/TCP_CLIENT/TCP_CLIENT.cpp
TCP_CLIENT/TCP_CLIENT/TCP_CLIENT.vcproj
TCP_CLIENT/TCP_CLIENT/TCP_CLIENT.vcproj.Jun-PC.Administrator.user
TCP_CLIENT/TCP_CLIENT.ncb
TCP_CLIENT/TCP_CLIENT.sln
TCP_CLIENT/TCP_CLIENT.suo
TCP_SERVER/TCP_SERVER/TCP_SERVER.cpp
TCP_SERVER/TCP_SERVER/TCP_SERVER.vcproj
TCP_SERVER/TCP_SERVER/TCP_SERVER.vcproj.Jun-PC.Administrator.user
TCP_SERVER/TCP_SERVER.ncb
TCP_SERVER/TCP_SERVER.sln
TCP_SERVER/TCP_SERVER.suo
UDP_CLIENT/UDP_CLIENT/UDP_CLIENT.cpp
UDP_CLIENT/UDP_CLIENT/UDP_CLIENT.vcproj
UDP_CLIENT/UDP_CLIENT/UDP_CLIENT.vcproj.Jun-PC.Administrator.user
UDP_CLIENT/UDP_CLIENT.sln
UDP_CLIENT/UDP_CLIENT.suo
UDP_SERVER/UDP_SERVER/UDP_SERVER.cpp
UDP_SERVER/UDP_SERVER/UDP_SERVER.vcproj
UDP_SERVER/UDP_SERVER/UDP_SERVER.vcproj.Jun-PC.Administrator.user
UDP_SERVER/UDP_SERVER.ncb
UDP_SERVER/UDP_SERVER.sln
UDP_SERVER/UDP_SERVER.suo
TCP_CLIENT/TCP_CLIENT/TCP_CLIENT.cpp
TCP_CLIENT/TCP_CLIENT/TCP_CLIENT.vcproj
TCP_CLIENT/TCP_CLIENT/TCP_CLIENT.vcproj.Jun-PC.Administrator.user
TCP_CLIENT/TCP_CLIENT.ncb
TCP_CLIENT/TCP_CLIENT.sln
TCP_CLIENT/TCP_CLIENT.suo
TCP_SERVER/TCP_SERVER/TCP_SERVER.cpp
TCP_SERVER/TCP_SERVER/TCP_SERVER.vcproj
TCP_SERVER/TCP_SERVER/TCP_SERVER.vcproj.Jun-PC.Administrator.user
TCP_SERVER/TCP_SERVER.ncb
TCP_SERVER/TCP_SERVER.sln
TCP_SERVER/TCP_SERVER.suo
UDP_CLIENT/UDP_CLIENT/UDP_CLIENT.cpp
UDP_CLIENT/UDP_CLIENT/UDP_CLIENT.vcproj
UDP_CLIENT/UDP_CLIENT/UDP_CLIENT.vcproj.Jun-PC.Administrator.user
UDP_CLIENT/UDP_CLIENT.sln
UDP_CLIENT/UDP_CLIENT.suo
UDP_SERVER/UDP_SERVER/UDP_SERVER.cpp
UDP_SERVER/UDP_SERVER/UDP_SERVER.vcproj
UDP_SERVER/UDP_SERVER/UDP_SERVER.vcproj.Jun-PC.Administrator.user
UDP_SERVER/UDP_SERVER.ncb
UDP_SERVER/UDP_SERVER.sln
UDP_SERVER/UDP_SERVER.suo
참고 자료
컴퓨터 네트워킹 -하향식 접근-프로그램소스 연관자료
이 자료와 함께 구매한 자료
- [리눅스]리눅스 통신 30페이지
- 와이브로 10페이지
- 와이브로 15페이지
- 와이브로 관련 ppt입니다. 12페이지
- TCP IP 소켓프로그래밍(hello server) 2페이지