티스토리 뷰

목차

    반응형

    C# 안드로이드 연동, TCP 통신 소켓 예제 소스


    안드로이드 소스 - TCP.java

    Tcp.java


    C# 프로젝트 - tcpchating-febris.zip

    tcpchating-febris.zip


    C# 안드로이드 연동 소스는 처음부터 제가 만들진 않고, 웹 서핑을 통해 얻은 소스를 수정해봤습니다. (소스는 첨부 자료 참조) C# 소스는 원래 내일도 맑음[클릭]이란 네이버 블로그에서 인용했고, 안드로이드 소스는 기억이 안나요 ㅡㅡ;;


    일단 C#을 실행해 보면, 이런 화면이 나옵니다.


    C Sharp - Android TCP - 1[C# 안드로이드 연동, TCP 통신 소켓 예제 소스]


    이때, 안드로이드에서 메시지를 전송해 보겠습니다.


    Test C#이란 메세지를 전송합니다.


    C Sharp - Android TCP - 2[C# 안드로이드 연동, TCP 통신 소켓 예제 소스]

    꽤 간단한 C# 폼에선 메시지를 수신하고 "OK"란 응답 메시지를 송신합니다.


    C# 안드로이드 TCP 연동이 된겁니다.


    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 통신 소켓 예제 소스

    반응형