首页 > 解决方案 > Android Telnet 客户端发送

问题描述

嗨,我刚开始大部分时间是 android studio。我正在按照教程设置套接字以尝试熟悉事物。我可以在教程中编译和运行应用程序,但我尝试向其发送数据的服务器是 telnet 服务器。服务器只是坐着等待特定的字符串来做特定的事情。如何修改此代码以将字符串发送到 telnet 服务器?请忽略粘贴代码中的任何无效缩进。

package com.javacodegeeks.android.androidsocketclient;

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class Client extends Activity {

private Socket socket;

private static final int SERVERPORT = 23;
private static final String SERVER_IP = "10.0.0.50";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    new Thread(new ClientThread()).start();
}

public void onClick(View view) {
    try {
        EditText et = (EditText) findViewById(R.id.EditText01);
        String str = et.getText().toString();
        PrintWriter out = new PrintWriter(new BufferedWriter(
                new OutputStreamWriter(socket.getOutputStream())),
                true);
        out.println(str);
    } catch (UnknownHostException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

class ClientThread implements Runnable {

    @Override
    public void run() {

        try {
            InetAddress serverAddr = InetAddress.getByName(SERVER_IP);

            socket = new Socket(serverAddr, SERVERPORT);

        } catch (UnknownHostException e1) {
            e1.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        }

    }

}

}

标签: javaandroidsocketstelnet

解决方案


推荐阅读