20.11.2016 Views

Android App Development ฉบับสมบูรณ์

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

พอร์ต (Port) ใช้หลักการของ Port of Entry หรือช่องทางในการเข้ามาติดต่อยังเครื่องคอมพิวเตอร์นั้นๆ<br />

ซึ่งในกรณีที่มีการติดต่อสื ่อสารระหว่างเครื่องคอมพิวเตอร์ทั้ง 2 เครื่องนั้น จะสามารถติดต่อกันได้ผ่าน<br />

ทางช่องทางนี้เท่านั้น โดยปกติแล้วการบริการต่างๆ (Service) จะมีความสัมพันธ์กับค่าพอร์ตนี้ เช่น<br />

• การให้บริการเว็บโดยใช้โปรโตคอล HTTP (Hypertext Transfer Protocol) จะให้บริการที่พอร์ต 80<br />

• การให้บริการส่งข้อมูลแบบ FTP (File Transfer Protocol) จะใช้พอร์ตที่ 20 และ 21<br />

• การให้บริการ DNS (Domain Name System) จะใช้พอร์ตที่ 53 เป็นต้น<br />

การสร้างแอพพลิเคชันส่วนไคลเอนท์<br />

ในหัวข้อนี้จะเป็นการสร้างส่วนของไคลเอนท์ที่เข้าไปเชื่อมต่อกับเครื่องเซิร์ฟเวอร์ ซึ่งมีขั้นตอนการ<br />

สร้างไคลเอนท์ดังนี้<br />

1. แก้ไขโค้ด Java ในไฟล์ ClientTCP.java ดังนี้<br />

package com.test.network.tcp;<br />

import java.io.DataInputStream;<br />

import java.io.DataOutputStream;<br />

import java.io.IOException;<br />

import java.net.InetSocketAddress;<br />

import java.net.Socket;<br />

import java.net.SocketAddress;<br />

import java.net.SocketTimeoutException;<br />

import java.net.UnknownHostException;<br />

import android.util.Log;<br />

public class ClientTCP {<br />

public static final String TAG = "ClientTCP";<br />

BasicNetworkTCPActivity _client;<br />

private Socket socket = null;<br />

private DataOutputStream streamOut = null;<br />

private ClientThread _tclient = null;<br />

public ClientTCP(BasicNetworkTCPActivity client, String serverName,<br />

int serverPort, int timeout) {<br />

_client = client;<br />

_client.updateStatus("Establishing connection. Please wait ...");<br />

try {<br />

SocketAddress sockaddr = new InetSocketAddress(serverName,<br />

serverPort);<br />

socket = new Socket();<br />

socket.connect(sockaddr, timeout);<br />

Log.d(TAG, "Connected : " + socket);<br />

streamOut = new DataOutputStream(socket.getOutputStream());<br />

_tclient = new ClientThread(this, socket);<br />

_client.updateStatus("Connected");<br />

บทที ่ 10 การพัฒนาแอพพลิเคชันติดต่อบนเครือข่ายอย่างง่าย 207

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!