티스토리 뷰
목차
반응형
C# 안드로이드 연동, TCP 통신 소켓 예제 소스
C# 안드로이드 연동 소스는 처음부터 제가 만들진 않고, 웹 서핑을 통해 얻은 소스를 수정해봤습니다. (소스는 첨부 자료 참조) C# 소스는 원래 내일도 맑음[클릭]이란 네이버 블로그에서 인용했고, 안드로이드 소스는 기억이 안나요 ㅡㅡ;;
일단 C#을 실행해 보면, 이런 화면이 나옵니다.
[C# 안드로이드 연동, TCP 통신 소켓 예제 소스]
이때, 안드로이드에서 메시지를 전송해 보겠습니다.
Test C#이란 메세지를 전송합니다.
[C# 안드로이드 연동, TCP 통신 소켓 예제 소스]
꽤 간단한 C# 폼에선 메시지를 수신하고 "OK"란 응답 메시지를 송신합니다.
C# 안드로이드 TCP 연동이 된겁니다.
[C# 안드로이드 연동, TCP 통신 소켓 예제 소스]
현재로선 경고문이 많이 나오는데, Try - Catch문에서 메시지 출력해서 확인해 보세요.
급하게 만드느라 한 이틀 고생했네요.
Tcp.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | package com.paad.earthquake; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class Tcp extends Activity { private String return_msg; public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.tcp_detail); final EditText et = (EditText)findViewById(R.id.TcpET); Button btn = (Button)findViewById(R.id.TcpBT); final TextView tv = (TextView)findViewById(R.id.TcpTV); btn.setOnClickListener(new OnClickListener(){ public void onClick(View v){ if(et.getText().toString() != null || !et.getText().toString().equals("")){ TCPclient tp = new TCPclient(et.getText().toString()); tp.run(); Toast t = Toast.makeText(getApplicationContext(), return_msg, Toast.LENGTH_LONG); t.show(); tv.setText(return_msg); }}} ); } private class TCPclient implements Runnable { private String msg; public TCPclient(String _msg){ this.msg = _msg; } public void run() { try { Log.d("TCP", "C: Connecting..."); Socket socket = new Socket("220.69.208.183", 80); try { Log.d("TCP", "C: Sending: '" + msg + "'"); PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true); out.println(msg); Log.d("TCP", "C: Sent."); Log.d("TCP", "C: Done."); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); return_msg = in.readLine(); Log.d("TCP", "C: Server send to me this message -->" + return_msg); } catch(Exception e) { Log.e("TCP", "C: Error1", e); } finally { socket.close(); } } catch (Exception e) { Log.e("TCP", "C: Error2", e); } } } } | cs |
C# 안드로이드 연동, TCP 통신 소켓 예제 소스
반응형