English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
本文实例讲述了Android编程实现TCP、UDP客户端通信功能。分享给大家供大家参考,具体如下:
在进行Android开发的过程中,不可避免地,需要开发TCP/UDP通讯的程序,下面这两段代码,分别介绍了TCP/UDP通过的一个实例:
代码一 TCP通讯:
private void tcpdata() { try { Socket s = new Socket("192.168.0.25", 65500); // Redirect outgoing stream to socket OutputStream out = s.getOutputStream(); // Attenzione: il secondo parametro con valore true eseguirà automaticamente flush, altrimenti sarà necessario eseguire out.flush() manualmente PrintWriter output = new PrintWriter(out, true); output.println("Hello IdeasAndroid! Falso IP: "); + SIMCardToIP("13512345006")); InputStream inputStream = s.getInputStream(); DataInputStream input = new DataInputStream(inputStream); byte[] b = new byte[10000]; int length = input.read(b); inputReader = new InputStreamReader(inputStream); String Msg = new String(b, 0, length, "gb2312"); Toast.makeText(TcpTest.this, Msg, 1000).show(); Log.d("Tcp Demo", "message From Server:" + Msg); s.close(); catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
Il seguente codice rappresenta il processo di comunicazione UDP:
public String send(String msg) { StringBuilder sb = new StringBuilder(); InetAddress local = null; try { local = InetAddress.getByName("192.168.0.25"); // Test locale catch (UnknownHostException e) { e.printStackTrace(); } try { dSocket = new DatagramSocket(); // Attenzione: è necessario impostare i permessi nel file di configurazione altrimenti verrà lancata un'eccezione di permessi insufficienti catch (SocketException e) { e.printStackTrace(); } int msg_len = msg == null ? 0 : msg.length(); DatagramPacket dPacket = new DatagramPacket(msg.getBytes(), msg_len, local, SERVER_PORT); try { dSocket.send(dPacket); } catch (IOException e) { e.printStackTrace(); } try { dSocket.receive(dPacket); sb.append(new String(dPacket.getData())); } catch (IOException e) { // TODO Blocco intercettore automatico generato e.printStackTrace(); } dSocket.close(); return sb.toString(); }
Leggi di più sui contenuti relativi a Android interessati dai lettori possono consultare la sezione speciale di questo sito: 'Riassunto dei metodi di comunicazione di Android', 'Tutorial di base e avanzato di sviluppo Android', 'Riassunto delle tecniche di debug e delle soluzioni comuni dei problemi di Android', 'Riassunto delle tecniche di operazione dei media multimediali di Android (audio, video, registrazione, ecc.)', 'Riassunto dell'uso dei componenti di base di Android', 'Riassunto delle tecniche di View di Android', 'Riassunto delle tecniche di layout di Android' e 'Riassunto dell'uso dei controlli di Android'.
Spero che il contenuto di questo articolo possa essere utile per la progettazione di applicazioni Android per tutti.
Dichiarazione: il contenuto di questo articolo è stato prelevato dalla rete, il copyright spetta ai rispettivi autori, il contenuto è stato contribuito e caricato dagli utenti di Internet, il sito web non possiede i diritti di proprietà, non è stato sottoposto a编辑, né assume la responsabilità giuridica correlata. Se trovi contenuti sospetti di violazione del copyright, sei invitato a inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, il sito web eliminerà immediatamente i contenuti sospetti di violazione del copyright.