AdbHelper
public
final
class
AdbHelper
extends Object
| java.lang.Object
|
| ↳ |
com.android.tradefed.device.server.AdbHelper
|
คลาส Helper เพื่อจัดการคำขอและการเชื่อมต่อกับ adb
AndroidDebugBridge คือ API สาธารณะสำหรับการเชื่อมต่อกับ adb ส่วน AdbHelper
จะจัดการสิ่งต่างๆ ในระดับต่ำ
ปัจจุบันใช้ I/O แบบไม่บล็อกที่มีการรอแบบหมุน ตัวเลือกจะมีประสิทธิภาพมากกว่า แต่ดูเหมือน
จะมากเกินไปสำหรับสิ่งที่เรากำลังทำที่นี่
สรุป
เมธอดสาธารณะ |
static
void
|
createForward(InetSocketAddress adbSockAddr, IDevice device, String localPortSpec, String remotePortSpec)
สร้างการส่งต่อพอร์ระหว่างพอร์ตในเครื่องกับพอร์ตระยะไกล
|
static
AdbCommandRejectedException
|
createHiddenException(String message, boolean errorDuringDeviceSelection)
|
static
AdbCommandRejectedException
|
createHiddenException(String message)
|
static
byte[]
|
createJdwpForwardRequest(int pid)
สร้างคำขอการส่งต่อพอร์ตไปยังกระบวนการ JDWP
|
static
SocketChannel
|
createPassThroughConnection(InetSocketAddress adbSockAddr, String deviceSerialNumber, int pid)
สร้างและเชื่อมต่อซ็อกเก็ตแบบส่งผ่านใหม่จากโฮสต์ไปยังพอร์ตในอุปกรณ์
|
static
void
|
createReverse(InetSocketAddress adbSockAddr, IDevice device, String remotePortSpec, String localPortSpec)
สร้างการย้อนกลับพอร์ระหว่างพอร์ตระยะไกลกับพอร์ตภายใน
|
static
void
|
executeRemoteCommand(InetSocketAddress adbSockAddr, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)
เรียกใช้คำสั่งเชลล์ในอุปกรณ์และดึงข้อมูลเอาต์พุต
|
static
void
|
executeRemoteCommand(InetSocketAddress adbSockAddr, AdbHelper.AdbService adbService, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits, InputStream is)
เรียกใช้คำสั่งระยะไกลในอุปกรณ์และดึงข้อมูลเอาต์พุต
|
static
void
|
executeRemoteCommand(InetSocketAddress adbSockAddr, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)
เรียกใช้คำสั่งเชลล์ในอุปกรณ์และดึงข้อมูลเอาต์พุต
|
static
byte[]
|
formAdbRequest(String payloadString)
สร้างสตริง ASCII ที่นำหน้าด้วยตัวเลขฐานสิบหก 4 หลัก
|
static
String
|
getFeatures(IDevice device)
ค้นหาชุดฟีเจอร์ที่รองรับจากอุปกรณ์
|
static
RawImage
|
getFrameBuffer(InetSocketAddress adbSockAddr, IDevice device, long timeout, TimeUnit unit)
เรียกข้อมูลเฟรมบัฟเฟอร์จากอุปกรณ์โดยมีระยะหมดเวลาที่ระบุ
|
static
String
|
getHostFeatures()
ค้นหาชุดฟีเจอร์ที่รองรับจากโฮสต์ ADB
|
static
SocketChannel
|
open(InetSocketAddress adbSockAddr, IDevice device, int devicePort)
สร้างและเชื่อมต่อซ็อกเก็ตส่งผ่านใหม่จากโฮสต์ไปยังพอร์ตในอุปกรณ์
|
static
SocketChannel
|
rawAdbService(InetSocketAddress socketAddress, IDevice device, String command, AdbHelper.AdbService service)
เรียกใช้บริการในอุปกรณ์ระยะไกล
|
static
SocketChannel
|
rawExec(InetSocketAddress socketAddress, IDevice device, String executable, String[] parameters)
เรียกใช้บริการ host:exec ในอุปกรณ์ระยะไกล
|
static
AdbHelper.AdbResponse
|
readAdbResponse(SocketChannel chan, boolean readDiagString)
อ่านการตอบกลับจาก ADB หลังจากคำสั่ง
|
static
void
|
reboot(String into, InetSocketAddress adbSockAddr, IDevice device)
รีบูตอุปกรณ์
|
static
void
|
removeForward(InetSocketAddress adbSockAddr, IDevice device, String localPortSpec)
นำการส่งต่อพอร์ตระหว่างพอร์ตในเครื่องกับพอร์ตระยะไกลออก
|
static
void
|
removeReverse(InetSocketAddress adbSockAddr, IDevice device, String remotePortSpec)
นำการย้อนกลับพอร์ตระหว่างพอร์ตระยะไกลและพอร์ตภายในออก
|
static
void
|
root(InetSocketAddress adbSockAddr, IDevice device)
ขอให้ adb demon กลายเป็นรูทในอุปกรณ์
|
static
void
|
setDevice(SocketChannel adbChan, IDevice device)
เมื่อระบุ IDevice แล้ว ให้ดึงหมายเลขซีเรียลและบอก adb ให้สื่อสารกับอุปกรณ์นั้น
|
static
void
|
setDevice(SocketChannel adbChan, String deviceSerialNumber)
บอกให้ adb สื่อสารกับอุปกรณ์ที่เฉพาะเจาะจง
|
static
void
|
write(SocketChannel chan, byte[] data, int length, int timeout)
เขียนจนกว่าจะเขียนข้อมูลทั้งหมดใน "data" แล้ว หรือถึงความยาวที่ไม่บังคับ หรือหมดเวลา
หรือการเชื่อมต่อล้มเหลว
|
static
void
|
write(SocketChannel chan, byte[] data)
เขียนจนกว่าจะเขียนข้อมูลทั้งหมดใน "data" เสร็จ หรือการเชื่อมต่อล้มเหลวหรือหมดเวลา
|
ค่าคงที่
HOST_TRANSPORT
public static final String HOST_TRANSPORT
ค่าคงที่:
"host:transport:"
ช่อง
DEFAULT_CHARSET
public static final Charset DEFAULT_CHARSET
เมธอดสาธารณะ
createForward
public static void createForward (InetSocketAddress adbSockAddr,
IDevice device,
String localPortSpec,
String remotePortSpec)
สร้างการส่งต่อพอร์ระหว่างพอร์ตในเครื่องกับพอร์ตระยะไกล
| พารามิเตอร์ |
adbSockAddr |
InetSocketAddress: ที่อยู่ซ็อกเก็ตที่จะเชื่อมต่อกับ adb |
device |
IDevice: อุปกรณ์ที่จะใช้ส่งต่อพอร์ต |
localPortSpec |
String: ข้อกำหนดของพอร์ตในเครื่องที่จะส่งต่อ ควรมีรูปแบบ
tcp: |
remotePortSpec |
String: การระบุพอร์ตระยะไกลที่จะส่งต่อ ซึ่งมีดังนี้ tcp:
localabstract: localreserved:
localfilesystem: dev: jdwp:
(ระยะไกลเท่านั้น) |
createHiddenException
public static AdbCommandRejectedException createHiddenException (String message,
boolean errorDuringDeviceSelection)
| พารามิเตอร์ |
message |
String |
errorDuringDeviceSelection |
boolean |
createJdwpForwardRequest
public static byte[] createJdwpForwardRequest (int pid)
สร้างคำขอการส่งต่อพอร์ตไปยังกระบวนการ JDWP ซึ่งจะแสดงอาร์เรย์ที่มี
"####jwdp:{pid}"
| พารามิเตอร์ |
pid |
int: PID ของกระบวนการ JDWP ในอุปกรณ์ |
createPassThroughConnection
public static SocketChannel createPassThroughConnection (InetSocketAddress adbSockAddr,
String deviceSerialNumber,
int pid)
สร้างและเชื่อมต่อซ็อกเก็ตแบบส่งผ่านใหม่จากโฮสต์ไปยังพอร์ตในอุปกรณ์
| พารามิเตอร์ |
deviceSerialNumber |
String: หมายเลขซีเรียลของอุปกรณ์ที่จะเชื่อมต่อ อาจเป็นค่าว่างหรือไม่มีค่าใน
ซึ่งในกรณีนี้ ระบบจะเชื่อมต่อกับอุปกรณ์แรกที่พร้อมใช้งาน |
pid |
int: pid ของกระบวนการที่จะเชื่อมต่อ |
| คิกรีเทิร์น |
SocketChannel |
|
createReverse
public static void createReverse (InetSocketAddress adbSockAddr,
IDevice device,
String remotePortSpec,
String localPortSpec)
สร้างการย้อนกลับพอร์ทระหว่างพอร์ทระยะไกลกับพอร์ทภายใน
| พารามิเตอร์ |
adbSockAddr |
InetSocketAddress: ที่อยู่ซ็อกเก็ตที่จะเชื่อมต่อกับ adb |
device |
IDevice: อุปกรณ์ที่จะใช้ย้อนกลับพอร์ต |
remotePortSpec |
String: การระบุพอร์ตระยะไกลที่จะย้อนกลับ ซึ่งมีดังนี้ tcp:
localabstract: localreserved:
localfilesystem: dev: jdwp:
(ระยะไกลเท่านั้น) |
localPortSpec |
String: ข้อกำหนดของพอร์ตภายใน ควรมีรูปแบบ tcp: |
executeRemoteCommand
public static void executeRemoteCommand (InetSocketAddress adbSockAddr,
String command,
IDevice device,
IShellOutputReceiver rcvr,
long maxTimeToOutputResponse,
TimeUnit maxTimeUnits)
เรียกใช้คำสั่งเชลล์ในอุปกรณ์และดึงข้อมูลเอาต์พุต โดยจะส่งผลลัพธ์ให้แก่
rcvr ทันทีที่ได้รับ
| พารามิเตอร์ |
adbSockAddr |
InetSocketAddress: ERROR(/InetSocketAddress) ไปยัง adb |
command |
String: คำสั่งเชลล์ที่จะดำเนินการ |
device |
IDevice: IDevice ที่จะใช้เรียกใช้คำสั่ง |
rcvr |
IShellOutputReceiver: IShellOutputReceiver ที่จะรับเอาต์พุตของคำสั่งเชลล์
|
maxTimeToOutputResponse |
long: เวลาสูงสุดระหว่างเอาต์พุตคำสั่ง หากเวลาผ่านไปนานกว่านี้ระหว่างเอาต์พุตคำสั่ง
เมธอดจะส่ง ShellCommandUnresponsiveException ค่า
0 หมายความว่าเมธอดจะรอเอาต์พุตคำสั่งไปเรื่อยๆ และไม่เคยส่งข้อยกเว้น |
maxTimeUnits |
TimeUnit: หน่วยสำหรับค่า maxTimeToOutputResponse ที่ไม่ใช่ 0 |
public static void executeRemoteCommand (InetSocketAddress adbSockAddr,
AdbHelper.AdbService adbService,
String command,
IDevice device,
IShellOutputReceiver rcvr,
long maxTimeout,
long maxTimeToOutputResponse,
TimeUnit maxTimeUnits,
InputStream is)
เรียกใช้คำสั่งระยะไกลในอุปกรณ์และดึงข้อมูลเอาต์พุต โดยจะส่งผลลัพธ์ให้แก่
rcvr ทันทีที่ได้รับ คำสั่งนี้จะดำเนินการโดยบริการระยะไกลที่ระบุโดยพารามิเตอร์ adbService
| พารามิเตอร์ |
adbSockAddr |
InetSocketAddress: ERROR(/InetSocketAddress) ไปยัง adb |
adbService |
AdbHelper.AdbService: AdbHelper.AdbService ที่ใช้เรียกใช้คำสั่ง |
command |
String: คำสั่งเชลล์ที่จะดำเนินการ |
device |
IDevice: IDevice ที่จะใช้เรียกใช้คำสั่ง |
rcvr |
IShellOutputReceiver: IShellOutputReceiver ที่จะรับเอาต์พุตของคำสั่งเชลล์
|
maxTimeout |
long: การหมดเวลาสูงสุดสำหรับการเรียกใช้คำสั่งทั้งหมด ค่า 0 หมายถึงไม่มีการหมดเวลา |
maxTimeToOutputResponse |
long: เวลาสูงสุดระหว่างเอาต์พุตคำสั่ง หากเวลาผ่านไปนานกว่านี้ระหว่างเอาต์พุตคำสั่ง
เมธอดจะส่ง ShellCommandUnresponsiveException ค่า
0 หมายความว่าเมธอดจะรอเอาต์พุตคำสั่งไปเรื่อยๆ และไม่เคยส่งข้อยกเว้น |
maxTimeUnits |
TimeUnit: หน่วยสำหรับค่าที่ไม่ใช่ 0 ของ maxTimeout และ maxTimeToOutputResponse
|
is |
InputStream: ERROR(/InputStream)ที่ไม่บังคับซึ่งจะสตรีมขึ้นหลังจากเรียกใช้คำสั่งและ
ก่อนที่จะดึงข้อมูลการตอบกลับ |
executeRemoteCommand
public static void executeRemoteCommand (InetSocketAddress adbSockAddr,
String command,
IDevice device,
IShellOutputReceiver rcvr,
long maxTimeout,
long maxTimeToOutputResponse,
TimeUnit maxTimeUnits)
เรียกใช้คำสั่งเชลล์ในอุปกรณ์และดึงข้อมูลเอาต์พุต โดยจะส่งผลลัพธ์ให้แก่
rcvr ทันทีที่ได้รับ
| พารามิเตอร์ |
adbSockAddr |
InetSocketAddress: ERROR(/InetSocketAddress) ไปยัง adb |
command |
String: คำสั่งเชลล์ที่จะดำเนินการ |
device |
IDevice: IDevice ที่จะใช้เรียกใช้คำสั่ง |
rcvr |
IShellOutputReceiver: IShellOutputReceiver ที่จะรับเอาต์พุตของคำสั่งเชลล์
|
maxTimeout |
long: เวลาสูงสุดที่คำสั่งจะแสดงผล ค่า 0 หมายความว่าจะไม่มีการใช้ระยะหมดเวลาสูงสุด
|
maxTimeToOutputResponse |
long: เวลาสูงสุดระหว่างเอาต์พุตคำสั่ง หากเวลาผ่านไปนานกว่านี้ระหว่างเอาต์พุตคำสั่ง
เมธอดจะส่ง ShellCommandUnresponsiveException ค่า
0 หมายความว่าเมธอดจะรอเอาต์พุตคำสั่งไปเรื่อยๆ และไม่เคยส่งข้อยกเว้น |
maxTimeUnits |
TimeUnit: หน่วยสำหรับค่าที่ไม่ใช่ 0 ของ maxTimeout และ maxTimeToOutputResponse
|
public static byte[] formAdbRequest (String payloadString)
สร้างสตริง ASCII ที่นำหน้าด้วยตัวเลขฐานสิบหก 4 หลัก "####" ตอนต้นคือความยาวของสตริงที่เหลือ ซึ่งเข้ารหัสเป็นเลขฐานสิบหก ASCII (ตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ก็ได้)
| พารามิเตอร์ |
payloadString |
String |
getFeatures
public static String getFeatures (IDevice device)
ค้นหาชุดฟีเจอร์ที่รองรับจากอุปกรณ์
| พารามิเตอร์ |
device |
IDevice: อุปกรณ์ที่จะใช้ส่งต่อพอร์ต |
getFrameBuffer
public static RawImage getFrameBuffer (InetSocketAddress adbSockAddr,
IDevice device,
long timeout,
TimeUnit unit)
เรียกข้อมูลเฟรมบัฟเฟอร์จากอุปกรณ์โดยมีระยะหมดเวลาที่ระบุ การหมดเวลา 0 หมายความว่า
จะรอตลอดไป
| พารามิเตอร์ |
adbSockAddr |
InetSocketAddress |
device |
IDevice |
timeout |
long |
unit |
TimeUnit |
getHostFeatures
public static String getHostFeatures ()
ค้นหาชุดฟีเจอร์ที่รองรับจากโฮสต์ ADB
เปิด
public static SocketChannel open (InetSocketAddress adbSockAddr,
IDevice device,
int devicePort)
สร้างและเชื่อมต่อซ็อกเก็ตส่งผ่านใหม่จากโฮสต์ไปยังพอร์ตในอุปกรณ์
| พารามิเตอร์ |
device |
IDevice: อุปกรณ์ที่จะเชื่อมต่อ อาจเป็นค่าว่าง ในกรณีนี้การเชื่อมต่อจะเป็นกับ
อุปกรณ์แรกที่พร้อมใช้งาน |
devicePort |
int: พอร์ตที่เราจะเปิด |
| คิกรีเทิร์น |
SocketChannel |
|
rawAdbService
public static SocketChannel rawAdbService (InetSocketAddress socketAddress,
IDevice device,
String command,
AdbHelper.AdbService service)
เรียกใช้บริการในอุปกรณ์ระยะไกล แสดงผลแชแนลซ็อกเก็ตที่เชื่อมต่อกับ
กระบวนการที่กำลังดำเนินการ
ddlmib relinquishes ownership of the returned SocketChannel and must be explicitly closed
after use.
| พารามิเตอร์ |
device |
IDevice: อุปกรณ์ที่จะเชื่อมต่อ อาจเป็นค่าว่าง ในกรณีนี้การเชื่อมต่อจะเป็นกับ
อุปกรณ์แรกที่พร้อมใช้งาน |
command |
String: คำสั่งที่จะดำเนินการ |
service |
AdbHelper.AdbService: AdbHelper.AdbService ที่ใช้เรียกใช้คำสั่ง |
| คิกรีเทิร์น |
SocketChannel |
|
rawExec
public static SocketChannel rawExec (InetSocketAddress socketAddress,
IDevice device,
String executable,
String[] parameters)
เรียกใช้บริการ host:exec ในอุปกรณ์ระยะไกล แสดงผลแชแนลซ็อกเก็ตที่เชื่อมต่อกับ
กระบวนการที่กำลังดำเนินการ โปรดทราบว่าบริการ exec ไม่ได้แยกความแตกต่างระหว่าง stdout และ stderr ดังนั้น
สิ่งที่อ่านจากซ็อกเก็ตอาจมาจากเอาต์พุตใดก็ได้และอาจมีการสลับกัน
ddlmib relinquishes ownership of the returned SocketChannel and must be explicitly closed
after use.
| พารามิเตอร์ |
device |
IDevice: อุปกรณ์ที่จะเชื่อมต่อ อาจเป็นค่าว่าง ในกรณีนี้การเชื่อมต่อจะเป็นกับ
อุปกรณ์แรกที่พร้อมใช้งาน |
executable |
String: เส้นทางแบบสัมบูรณ์ของไฟล์ปฏิบัติการที่จะเรียกใช้ |
parameters |
String: พารามิเตอร์ที่จะได้รับเมื่อเรียกใช้ไฟล์ที่เรียกใช้งานได้ |
| คิกรีเทิร์น |
SocketChannel |
|
readAdbResponse
public static AdbHelper.AdbResponse readAdbResponse (SocketChannel chan,
boolean readDiagString)
อ่านการตอบกลับจาก ADB หลังจากคำสั่ง
| พารามิเตอร์ |
chan |
SocketChannel: ช่องซ็อกเก็ตที่เชื่อมต่อกับ adb |
readDiagString |
boolean: หากเป็นจริง เราคาดหวังว่าการตอบกลับ OKAY จะตามด้วยสตริงการวินิจฉัย
ไม่เช่นนั้น เราคาดหวังให้สตริงการวินิจฉัยมีสถานะเป็น "ไม่สำเร็จ" เท่านั้น |
| การขว้าง |
TimeoutException |
ในกรณีที่การเชื่อมต่อหมดเวลา |
|
ในกรณีที่เกิดข้อผิดพลาด I/O ในการเชื่อมต่อ |
รีบูต
public static void reboot (String into,
InetSocketAddress adbSockAddr,
IDevice device)
รีบูตอุปกรณ์
| พารามิเตอร์ |
into |
String: สิ่งที่จะรีบูต (การกู้คืน, Bootloader) หรือ null เพื่อรีบูตเท่านั้น |
adbSockAddr |
InetSocketAddress |
device |
IDevice |
removeForward
public static void removeForward (InetSocketAddress adbSockAddr,
IDevice device,
String localPortSpec)
นำการส่งต่อพอร์ตระหว่างพอร์ตในเครื่องกับพอร์ตระยะไกลออก
| พารามิเตอร์ |
adbSockAddr |
InetSocketAddress: ที่อยู่ซ็อกเก็ตที่จะเชื่อมต่อกับ adb |
device |
IDevice: อุปกรณ์ที่จะนำการส่งต่อพอร์ตออก |
localPortSpec |
String: ข้อกำหนดของพอร์ตภายในที่ส่งต่อ ควรมีรูปแบบ
tcp: |
removeReverse
public static void removeReverse (InetSocketAddress adbSockAddr,
IDevice device,
String remotePortSpec)
นำการย้อนกลับพอร์ตระหว่างพอร์ตระยะไกลและพอร์ตภายในออก
| พารามิเตอร์ |
adbSockAddr |
InetSocketAddress: ที่อยู่ซ็อกเก็ตที่จะเชื่อมต่อกับ adb |
device |
IDevice: อุปกรณ์ที่จะนำการกลับพอร์ตออก |
remotePortSpec |
String: การระบุพอร์ตระยะไกลที่ย้อนกลับไปยังพอร์ตใดพอร์ตหนึ่งต่อไปนี้ tcp:
localabstract: localreserved:
localfilesystem: dev: jdwp:
(ระยะไกลเท่านั้น) |
รูท
public static void root (InetSocketAddress adbSockAddr,
IDevice device)
ขอให้ adb demon กลายเป็นรูทในอุปกรณ์ การดำเนินการนี้อาจล้มเหลวโดยไม่มีการแจ้งเตือน และจะสำเร็จได้
ในบิลด์สำหรับนักพัฒนาแอปเท่านั้น ดูข้อมูลเพิ่มเติมได้ที่ "adb root" หากต้องการทราบว่าสำเร็จหรือไม่
คุณสามารถตรวจสอบผลลัพธ์ของ executeRemoteCommand ใน "echo \$USER_ID" ได้ หากเป็น 0 แสดงว่า adbd
ทำงานในฐานะรูท
| พารามิเตอร์ |
adbSockAddr |
InetSocketAddress |
device |
IDevice |
setDevice
public static void setDevice (SocketChannel adbChan,
IDevice device)
เมื่อระบุ IDevice แล้ว ให้ดึงหมายเลขซีเรียลและบอก adb ให้สื่อสารกับอุปกรณ์นั้น
| พารามิเตอร์ |
adbChan |
SocketChannel: การเชื่อมต่อซ็อกเก็ตกับ adb |
device |
IDevice: อุปกรณ์ที่จะพูดคุยด้วย |
setDevice
public static void setDevice (SocketChannel adbChan,
String deviceSerialNumber)
บอกให้ adb สื่อสารกับอุปกรณ์ที่เฉพาะเจาะจง
| พารามิเตอร์ |
adbChan |
SocketChannel: การเชื่อมต่อซ็อกเก็ตกับ adb |
deviceSerialNumber |
String: ซีเรียลของอุปกรณ์ที่จะพูดด้วย หากเป็น null อุปกรณ์เริ่มต้น
ที่เลือกคืออุปกรณ์ที่ adb เลือก |
เขียนหน่อย
public static void write (SocketChannel chan,
byte[] data,
int length,
int timeout)
เขียนจนกว่าจะเขียนข้อมูลทั้งหมดใน "data" แล้ว หรือถึงความยาวที่ไม่บังคับ หรือหมดเวลา
หรือการเชื่อมต่อล้มเหลว แสดงผล "จริง" หากเขียนข้อมูลทั้งหมด
| พารามิเตอร์ |
chan |
SocketChannel: ซ็อกเก็ตที่เปิดเพื่อเขียน |
data |
byte: บัฟเฟอร์ที่จะส่ง |
length |
int: ความยาวที่จะเขียนหรือ -1 เพื่อส่งบัฟเฟอร์ทั้งหมด |
timeout |
int: ค่าระยะหมดเวลา การหมดเวลาเป็น 0 หมายความว่า "รอตลอดไป" |
| การขว้าง |
TimeoutException |
ในกรณีที่การเชื่อมต่อหมดเวลา |
|
ในกรณีที่เกิดข้อผิดพลาด I/O ในการเชื่อมต่อ |
เขียนหน่อย
public static void write (SocketChannel chan,
byte[] data)
เขียนจนกว่าจะเขียนข้อมูลทั้งหมดใน "data" เสร็จ หรือการเชื่อมต่อล้มเหลวหรือหมดเวลา
ซึ่งจะใช้ค่าหมดเวลาเริ่มต้น
| พารามิเตอร์ |
chan |
SocketChannel: ซ็อกเก็ตที่เปิดเพื่อเขียน |
data |
byte: บัฟเฟอร์ที่จะส่ง |
| การขว้าง |
TimeoutException |
ในกรณีที่การเชื่อมต่อหมดเวลา |
|
ในกรณีที่เกิดข้อผิดพลาด I/O ในการเชื่อมต่อ |