Download presentation
Presentation is loading. Please wait.
Published byTeija Rantanen Modified 5년 전
1
Internet 데이터 전송 목표: 인터넷의 개요 및 기본 내용을 살펴보고 VB에서의 데이터 전송 프로그래밍에 대하여 학습한다. 주요내용 인터넷의 개요 인터넷 데이터 전송 인터넷 프로그래밍 Winsock Client Server 프로그래밍
2
Internet 개요 OSI 7 Layer Internet Application Presentation Session
Open System Interconnection Protocol (규약) TCP/IP Transmission control , Internet Protocol OSI 7 Layer Internet Application FTP, TELNET SMTP,HTTP Presentation Application Session Transport TCP,UDP Transport Network IP,ICMP,ARP Internet Data Link Network Drv. Network Card Physical Physical
3
Internet 전송 어플리케이션 계층 트랜스포트 계층 인터넷 계층 물리 계층 Data Data TCP h Data TCP h
User Program User Program Data Data TCP h Data TCP h Data IP h TCP h Data IP h TCP h Data Physical h IP h TCP h Data Physical h IP h TCP h Data
4
패킷 내용 Port # : 같은 컴퓨터 내에서의 서비스를 구분하기 위한 번호. IP 주소 (32bit): 송신
IP h IP checksum, Control Field Port #:송신 Port #:수신 TCP h Data 내용에 대한 Flags, Checksum Data
5
Protocol TCP : 데이터 신뢰성 향상 IP : 인터넷 주소등 Slip, PPP : 전화선 모뎀용
SMTP (Simple Mail Transfer Protocol) FTP(File Transfer Protocol) : 파일 전송 HTTP(Hyper Text Transfer Protocol) : HTML 언어(Home Page)
6
VB에서의 Internet TCP/IP : MS Winsock Control
화상전송, Chatting FTP : Microsoft Internet Transfer Control 파일 전송, FTP응용 프로그램 HTTP : MS Internet Control Web Browser DHTML: DHTML 프로젝트 (대화형 web page)
7
HTTP 프로그래밍 MS Internet Control 추가 커맨드버튼에 다음 코드 추가 !
Private Sub Command1_Click() Web.Navigate Text1.Text End Sub
8
FTP 프로그래밍 MS Internet Transfer Control, Rich Text Box 추가
커맨드버튼에 다음 코드 추가 ! 기본 HTML 파일 전송 Private Sub Command1_Click() RTB = Inet1.OpenURL(Text1.Text) End Sub
9
Client 와 Server Request Service Client Server
한 개의 Server는 여러 Client가 접속될 수 있다. Server는 개개의 Client의 요구에 대하여 서비스를 하는 역할을 한다. Request Service Client Server
10
Winsock 프로그래밍 Server Client Initialize Initialize (Socket 생성)
Connection Request Listen(대기) Server 지정 접속시도 Connect Connect 새 Socket 생성 Accept DataArrival SendData/ GetData SendData / GetData 데이터 전송 SendComplete Close Close Close
11
Winsock의 Method Connect Close Listen (서버) Accept (서버) Bind SendData
GetData 응용프로그램 Winsock API TCP계층 IP계층 Hardware
12
Winsock의 Property와 Event
Bytes Received LocalHostName LocalIP LocalPort RemoteHost RemoteHostIP RemotePort Event Close Connect ConnectionRequest DataArrival Error SendComplete SendProgress
13
서버 프로그램 socServer.SendData "What?????" 접속 요청이 있으면 승인하고 대답해주는 서버프로그램
Private Sub Form_Load() socServer.LocalPort = 1000 socServer.Listen Text1.Text = " Server Working..." End Sub Private Sub socServer_DataArrival (ByVal bytesTotal As Long) socServer.GetData StrData Text2 = Text2 & vbCr & StrData Text1.Text = " Data Recieved ...“ socServer.SendData "What?????" End Sub Private Sub socServer_ConnectionRequest_ (ByVal requestID As Long) If socServer.State <> sckClosed Then _ socServer.Close socServer.Accept requestID Text1.Text = " Client Connected..." End Sub
14
클라이언트 프로그램 데이터를 송수신하는 프로그램 Private Sub Form_Load()
socClient.RemoteHost = “ " socClient.RemotePort = 1000 End Sub Private Sub Command1_Click() socClient.SendData Text3.Text End Sub Private Sub socClient_DataArrival (ByVal bytesTotal As Long) Dim strdata As String socClient.GetData StrData Text2 = Text2 & vbCrLf & StrData Text1.Text = " Data Recieved ..." End Sub Private Sub botConnect_Click() socClient.Connect botConnect.Enabled = False Text1.Text = "Connected" End Sub
15
서버의 다중 접속대응 socServer를 배열로 선언 ConnectID를 전역변수로 선언 Load socServer 로 새로운 소켓 생성 Private Sub socServer_ConnectionRequest(Index As Integer, ByVal requestID As Long) '소켓을 생성 후, 연결 ConnectID = ConnectID + 1 Load socServer (ConnectID) socServer(ConnectID).Accept requestID txtState.Text = txtState.Text + CStr(ConnectID) + " 번째 _ 접속 허가" + vbCrLf End Sub
Similar presentations