2013. 3. 28. 11:43
안드로이드 - 소켓통신 안드로이드 이야기2013. 3. 28. 11:43
728x90
반응형
안드로이드 - 소켓통신
출처: http://webprogrammer.tistory.com/1815
출처는 명확하지 않음-_-;; 원작성자 분에게는 죄송합니다;
앞의 2009/03/10 - [Computer Science/Android] - [펌]Android에서의 TCP/IP 통신 글의 코드와 매우 유사하긴 하지만.. 뭔가 더 간단하고 예제는 많을 수록 좋으므로;(-_-)
SocketTest.java
Java: |
public class SocketTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); Thread sThread = new Thread(new TCPServer()); Thread cThread = new Thread(new TCPClient()); sThread.start(); try { Thread.sleep(1000); } catch (InterruptedException e) { } cThread.start(); } } |
TCPServer.java
Java: |
public class TCPServer implements Runnable{ public static final String SERVERIP = "127.0.0.1"; public static final int SERVERPORT = 4444; public void run() { try { Log.d("TCP", "S: Connecting..."); ServerSocket serverSocket = new ServerSocket(SERVERPORT); while (true) { Socket client = serverSocket.accept(); Log.d("TCP", "S: Receiving..."); try { BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); String str = in.readLine(); Log.d("TCP", "S: Received: '" + str + "'"); } catch(Exception e) { Log.e("TCP", "S: Error", e); } finally { client.close(); Log.d("TCP", "S: Done."); } } } catch (Exception e) { Log.e("TCP", "S: Error", e); } } } |
TCPClient.java
Java: |
public class TCPClient implements Runnable { public void run() { try { InetAddress serverAddr = InetAddress.getByName(UDPServer.SERVERIP); Log.d("TCP", "C: Connecting..."); Socket socket = new Socket(serverAddr, TCPServer.SERVERPORT); String message = "Hello from Client"; try { Log.d("TCP", "C: Sending: '" + message + "'"); PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true); out.println(message); Log.d("TCP", "C: Sent."); Log.d("TCP", "C: Done."); } catch(Exception e) { Log.e("TCP", "S: Error", e); } finally { socket.close(); } } catch (Exception e) { Log.e("TCP", "C: Error", e); } } } |
AndroidManifest.xml
XML: |
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.e2esp.socket.test"> <application android:icon="@drawable/icon"> <activity class=".SocketTest" android:label="@string/app_name"> <intent-filter> <action android:value="android.intent.action.MAIN" /> <category android:value="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 출처 : http://plucky.tistory.com/13 |
728x90
반응형
'안드로이드 이야기' 카테고리의 다른 글
안드로이드 - Debug Certificate expired ...... Unknown Android Packaging Problem (0) | 2013.04.06 |
---|---|
안드로이드 - TCP/IP예제 (0) | 2013.03.28 |
안드로이드 - DB file을 assets디렉토리에서 폰으로 복사 이동하는 예제 (0) | 2013.03.28 |
안드로이드 - 소켓 프로그래밍 (TCP/IP) Server&Client 예제 (쓰레드 활용) (0) | 2013.03.28 |
안드로이드 - 전화번호부 관리 프로그램 (0) | 2013.03.28 |