Android Socket客户端无法发送和接收消息

2024-05-19 06:22:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从我的socket服务器发送和接收消息,这是在windows上python中创建的,借助twisted API。我的客户端将成为我的安卓手机,通过我将发送我的字符串消息。这是我的密码。有人能帮忙吗。

public class MainActivity extends AppCompatActivity
{
//TextView textView;
Button sendButton;
Button connect;
EditText message;
OutputStream outputStream;
InputStream inputStream;
Socket socket;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    sendButton = (Button) findViewById(R.id.sendButton);
    connect = (Button) findViewById(R.id.button);
    message = (EditText) findViewById(R.id.message);
    connect.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View view)
        {
            connect.setText("Disconnect");
            AsyncTask asyncTask = new AsyncTask() {
                @Override
                protected Object doInBackground(Object[] objects)
                {
                    try {
                         socket = new Socket("192.168.100.106",8888);
                        try {
                            outputStream = socket.getOutputStream();
                            inputStream = new DataInputStream(socket.getInputStream());
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                            connect.setOnClickListener(new View.OnClickListener()
                            {
                                @Override
                                public void onClick(View view)
                                {

                                    try {
                                        socket.close();
                                    } catch (IOException e) {
                                        e.printStackTrace();
                                    }
                                }
                            });
                            sendButton.setOnClickListener( new View.OnClickListener() {
                                @Override
                                public void onClick(View view)
                                {
                                    PrintWriter out = new PrintWriter(outputStream);
                                    String mes = message.getText().toString();
                                    out.print(mes);
                                }
                            });
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    return null;
                }
            };
            asyncTask.execute();
        }
    });

}
}

这是我在twisted API的帮助下用python编写的socket服务器脚本。

^{pr2}$

目前我可以与服务器通信(即与服务器连接和断开连接),但我无法发送和接收消息。


Tags: viewid消息messagenewconnectbuttonsocket

热门问题