AdbHelper
public
final
class
AdbHelper
extends Object
| java.lang.Object
|
| ↳ |
com.android.tradefed.device.server.AdbHelper
|
यह क्लास, adb से किए गए अनुरोधों और कनेक्शन को मैनेज करने में मदद करती है.
AndroidDebugBridge, adb से कनेक्ट करने के लिए सार्वजनिक एपीआई है. वहीं, AdbHelper
लो लेवल का काम करता है.
फ़िलहाल, यह स्पिन-वेट नॉन-ब्लॉकिंग I/O का इस्तेमाल करता है. Selector ज़्यादा असरदार होगा, लेकिन ऐसा लगता है कि यहां हम जो काम कर रहे हैं उसके लिए यह बहुत ज़्यादा है.
खास जानकारी
पब्लिक मेथड |
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, 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
void
|
executeRemoteCommand(InetSocketAddress adbSockAddr, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)
यह डिवाइस पर शेल कमांड चलाता है और आउटपुट वापस लाता है.
|
static
byte[]
|
formAdbRequest(String payloadString)
चार हेक्स अंकों से पहले एक ASCII स्ट्रिंग बनाएं.
|
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 डेमॉन से डिवाइस पर रूट बनने के लिए कहें.
|
static
void
|
setDevice(SocketChannel adbChan, String deviceSerialNumber)
adb को किसी डिवाइस से कम्यूनिकेट करने के लिए कहता है
|
static
void
|
setDevice(SocketChannel adbChan, IDevice device)
IDevice दिए जाने पर, सीरियल नंबर को पकड़ें और 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: डिवाइस पर jdwp प्रोसेस pid. |
createPassThroughConnection
public static SocketChannel createPassThroughConnection (InetSocketAddress adbSockAddr,
String deviceSerialNumber,
int pid)
यह फ़ंक्शन, होस्ट से डिवाइस के किसी पोर्ट तक एक नया पास-थ्रू सॉकेट बनाता है और उसे कनेक्ट करता है.
| पैरामीटर |
deviceSerialNumber |
String: कनेक्ट करने के लिए डिवाइस का सीरियल नंबर. यह शून्य या खाली हो सकता है. ऐसे में, कनेक्शन पहले उपलब्ध डिवाइस से होगा. |
pid |
int: कनेक्ट करने के लिए प्रोसेस आईडी. |
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:फ़ॉर्मैट में होनी चाहिए |
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: adb के लिए InetSocketAddress. |
adbService |
AdbHelper.AdbService: कमांड चलाने के लिए इस्तेमाल किया जाने वाला AdbHelper.AdbService. |
command |
String: शेल कमांड को चलाने के लिए |
device |
IDevice: वह IDevice जिस पर कमांड को चलाना है. |
rcvr |
IShellOutputReceiver: वह IShellOutputReceiver जो शेल कमांड का आउटपुट पाएगा |
maxTimeout |
long: पूरी कमांड को पूरा होने में लगने वाला ज़्यादा से ज़्यादा समय. वैल्यू 0 का मतलब है कि कोई टाइम आउट नहीं है. |
maxTimeToOutputResponse |
long: कमांड के आउटपुट के बीच ज़्यादा से ज़्यादा समय. अगर कमांड के आउटपुट में ज़्यादा समय लगता है, तो यह तरीका ShellCommandUnresponsiveException दिखाएगा. 0 वैल्यू का मतलब है कि यह तरीका, कमांड के आउटपुट के लिए हमेशा इंतज़ार करेगा और कभी भी थ्रो नहीं करेगा. |
maxTimeUnits |
TimeUnit: शून्य से अलग maxTimeout और maxTimeToOutputResponse वैल्यू के लिए इकाइयां. |
is |
InputStream: यह एक वैकल्पिक InputStream है. इसे कमांड शुरू होने के बाद और जवाब मिलने से पहले स्ट्रीम किया जाता है. |
executeRemoteCommand
public static void executeRemoteCommand (InetSocketAddress adbSockAddr,
String command,
IDevice device,
IShellOutputReceiver rcvr,
long maxTimeout,
long maxTimeToOutputResponse,
TimeUnit maxTimeUnits)
यह डिवाइस पर शेल कमांड चलाता है और आउटपुट वापस लाता है. आउटपुट मिलते ही, उसे rcvr को भेज दिया जाता है.
| पैरामीटर |
adbSockAddr |
InetSocketAddress: adb के लिए InetSocketAddress. |
command |
String: शेल कमांड को चलाने के लिए |
device |
IDevice: वह IDevice जिस पर कमांड को चलाना है. |
rcvr |
IShellOutputReceiver: वह IShellOutputReceiver जो शेल कमांड का आउटपुट पाएगा |
maxTimeout |
long: कमांड के जवाब देने का ज़्यादा से ज़्यादा समय. 0 वैल्यू का मतलब है कि कोई ज़्यादा से ज़्यादा समयसीमा लागू नहीं होगी. |
maxTimeToOutputResponse |
long: कमांड के आउटपुट के बीच ज़्यादा से ज़्यादा समय. अगर कमांड के आउटपुट में ज़्यादा समय लगता है, तो यह तरीका ShellCommandUnresponsiveException दिखाएगा. 0 वैल्यू का मतलब है कि यह तरीका, कमांड के आउटपुट के लिए हमेशा इंतज़ार करेगा और कभी भी थ्रो नहीं करेगा. |
maxTimeUnits |
TimeUnit: शून्य से अलग maxTimeout और maxTimeToOutputResponse वैल्यू के लिए इकाइयां. |
executeRemoteCommand
public static void executeRemoteCommand (InetSocketAddress adbSockAddr,
String command,
IDevice device,
IShellOutputReceiver rcvr,
long maxTimeToOutputResponse,
TimeUnit maxTimeUnits)
यह डिवाइस पर शेल कमांड चलाता है और आउटपुट वापस लाता है. आउटपुट मिलते ही, उसे rcvr को भेज दिया जाता है.
| पैरामीटर |
adbSockAddr |
InetSocketAddress: adb के लिए InetSocketAddress. |
command |
String: शेल कमांड को चलाने के लिए |
device |
IDevice: वह IDevice जिस पर कमांड को चलाना है. |
rcvr |
IShellOutputReceiver: वह IShellOutputReceiver जो शेल कमांड का आउटपुट पाएगा |
maxTimeToOutputResponse |
long: कमांड के आउटपुट के बीच ज़्यादा से ज़्यादा समय. अगर कमांड के आउटपुट में ज़्यादा समय लगता है, तो यह तरीका ShellCommandUnresponsiveException दिखाएगा. 0 वैल्यू का मतलब है कि यह तरीका, कमांड के आउटपुट के लिए हमेशा इंतज़ार करेगा और कभी भी थ्रो नहीं करेगा. |
maxTimeUnits |
TimeUnit: शून्य से ज़्यादा maxTimeToOutputResponse वैल्यू के लिए यूनिट. |
public static byte[] formAdbRequest (String payloadString)
चार हेक्स अंकों से पहले एक ASCII स्ट्रिंग बनाएं. शुरुआत में मौजूद "####" स्ट्रिंग के बाकी हिस्से की लंबाई है. इसे 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: वह पोर्ट जिसे हम खोल रहे हैं |
rawAdbService
public static SocketChannel rawAdbService (InetSocketAddress socketAddress,
IDevice device,
String command,
AdbHelper.AdbService service)
किसी रिमोट डिवाइस पर सेवा शुरू करना. यह फ़ंक्शन, एक सॉकेट चैनल दिखाता है. यह चैनल, प्रोसेस को एक्ज़ीक्यूट करने के लिए कनेक्ट किया जाता है.
ddlmib, लौटाए गए SocketChannel का मालिकाना हक छोड़ देता है. साथ ही, इस्तेमाल के बाद इसे साफ़ तौर पर बंद करना ज़रूरी है.
| पैरामीटर |
device |
IDevice: वह डिवाइस जिससे कनेक्ट करना है. यह शून्य हो सकता है. इस मामले में, कनेक्शन पहले उपलब्ध डिवाइस से होगा. |
command |
String: वह कमांड जिसे चलाना है |
service |
AdbHelper.AdbService: कमांड चलाने के लिए इस्तेमाल किया जाने वाला AdbHelper.AdbService. |
rawExec
public static SocketChannel rawExec (InetSocketAddress socketAddress,
IDevice device,
String executable,
String[] parameters)
किसी रिमोट डिवाइस पर host:exec सेवा को चालू करें. यह फ़ंक्शन, एक सॉकेट चैनल दिखाता है. यह चैनल, प्रोसेस को एक्ज़ीक्यूट करने के लिए कनेक्ट किया जाता है. ध्यान दें कि एक्ज़ेक सेवा, stdout और stderr के बीच अंतर नहीं करती. इसलिए, सॉकेट से पढ़ा गया डेटा, किसी भी आउटपुट से आ सकता है और इंटरलीव किया जा सकता है.
ddlmib, लौटाए गए SocketChannel का मालिकाना हक छोड़ देता है. साथ ही, इस्तेमाल के बाद इसे साफ़ तौर पर बंद करना ज़रूरी है.
| पैरामीटर |
device |
IDevice: वह डिवाइस जिससे कनेक्ट करना है. यह शून्य हो सकता है. इस मामले में, कनेक्शन पहले उपलब्ध डिवाइस से होगा. |
executable |
String: चलाने के लिए, एक्ज़ीक्यूटेबल का ऐब्सलूट पाथ |
parameters |
String: एक्ज़ीक्यूटेबल को एक्ज़ीक्यूट करने पर मिलने वाले पैरामीटर |
readAdbResponse
public static AdbHelper.AdbResponse readAdbResponse (SocketChannel chan,
boolean readDiagString)
यह कुकी, किसी कमांड के बाद ADB से मिले जवाब को पढ़ती है.
| पैरामीटर |
chan |
SocketChannel: यह सॉकेट चैनल, adb से कनेक्ट होता है. |
readDiagString |
boolean: अगर यह सही है, तो हमें 'ठीक है' जवाब के बाद गड़बड़ी की जानकारी वाली स्ट्रिंग मिलने की उम्मीद है. इसके अलावा, हम सिर्फ़ यह उम्मीद करते हैं कि गड़बड़ी की जानकारी देने वाली स्ट्रिंग में FAIL लिखा हो. |
| थ्रो |
TimeoutException |
कनेक्शन टाइम आउट होने पर. |
IOException |
कनेक्शन पर I/O में गड़बड़ी होने पर. |
पुनः बूट करें
public static void reboot (String into,
InetSocketAddress adbSockAddr,
IDevice device)
डिवाइस को रीबूट करें.
| पैरामीटर |
into |
String: किस मोड में रीबूट करना है (रिकवरी, बूटलोडर). सिर्फ़ रीबूट करने के लिए, इसे शून्य पर सेट करें. |
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 डेमॉन से डिवाइस पर रूट बनने के लिए कहें. ऐसा हो सकता है कि यह अनुरोध पूरा न हो. साथ ही, यह अनुरोध सिर्फ़ डेवलपर बिल्ड पर पूरा हो सकता है. ज़्यादा जानकारी के लिए, "adb root" देखें. अगर आपको यह जानना है कि यह प्रोसेस पूरी हुई है या नहीं, तो 'echo \$USER_ID' पर executeRemoteCommand का नतीजा देखें. अगर यह 0 है, तो adbd रूट के तौर पर चल रहा है.
| पैरामीटर |
adbSockAddr |
InetSocketAddress |
device |
IDevice |
setDevice
public static void setDevice (SocketChannel adbChan,
String deviceSerialNumber)
adb को किसी डिवाइस से कम्यूनिकेट करने के लिए कहता है
| पैरामीटर |
adbChan |
SocketChannel: adb से सॉकेट कनेक्शन |
deviceSerialNumber |
String: जिस डिवाइस से कम्यूनिकेट करना है उसका सीरियल नंबर. अगर यह शून्य है, तो डिफ़ॉल्ट रूप से चुना गया डिवाइस, adb से चुना गया डिवाइस होगा. |
setDevice
public static void setDevice (SocketChannel adbChan,
IDevice device)
IDevice दिए जाने पर, सीरियल नंबर को पकड़ें और adb को उस डिवाइस से कम्यूनिकेट करने के लिए कहें.
| पैरामीटर |
adbChan |
SocketChannel: adb से सॉकेट कनेक्शन. |
device |
IDevice: वह डिवाइस जिससे बात करनी है. |
लिखो
public static void write (SocketChannel chan,
byte[] data,
int length,
int timeout)
"data" में मौजूद पूरा डेटा लिखे जाने तक, तय की गई लंबाई पूरी होने तक, टाइम आउट खत्म होने तक या कनेक्शन फ़ेल होने तक लिखें. अगर पूरा डेटा लिखा गया है, तो "true" वैल्यू मिलती है.
| पैरामीटर |
chan |
SocketChannel: लिखने के लिए खोला गया सॉकेट. |
data |
byte: भेजने के लिए बफ़र. |
length |
int: बफ़र में मौजूद डेटा की लंबाई या पूरे बफ़र को भेजने के लिए -1. |
timeout |
int: टाइम आउट की वैल्यू. टाइम आउट की अवधि शून्य होने का मतलब है "हमेशा के लिए इंतज़ार करें". |
| थ्रो |
TimeoutException |
कनेक्शन टाइम आउट होने पर. |
IOException |
कनेक्शन पर I/O में गड़बड़ी होने पर. |
लिखो
public static void write (SocketChannel chan,
byte[] data)
"data" में मौजूद सारा डेटा लिखे जाने तक या कनेक्शन फ़ेल होने या टाइम आउट होने तक लिखें.
इसमें डिफ़ॉल्ट टाइम आउट वैल्यू का इस्तेमाल किया जाता है.
| पैरामीटर |
chan |
SocketChannel: लिखने के लिए खोला गया सॉकेट. |
data |
byte: भेजने के लिए बफ़र. |
| थ्रो |
TimeoutException |
कनेक्शन टाइम आउट होने पर. |
IOException |
कनेक्शन पर I/O में गड़बड़ी होने पर. |