Android TCP客户端发送数据
我正在尝试制作一个简单的TCP android客户端,它应该使用异步任务连接一次服务器,然后单击按钮发送几条消息 我设法以这种方式制作了连接部分:Android TCP客户端发送数据,android,tcpclient,Android,Tcpclient,我正在尝试制作一个简单的TCP android客户端,它应该使用异步任务连接一次服务器,然后单击按钮发送几条消息 我设法以这种方式制作了连接部分: class TcpTask extends AsyncTask<String, String, Void>{ Socket socket; PrintWriter outToServer; @Override protected Void doInBackground(String... params)
class TcpTask extends AsyncTask<String, String, Void>{
Socket socket;
PrintWriter outToServer;
@Override
protected Void doInBackground(String... params) {
try
{
socket = new Socket("192.168.2.168", 1234);
outToServer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
outToServer.print("Ciao");
outToServer.flush();
}
catch(Exception e)
{
System.out.print("Whoops! It didn't work!:");
System.out.print(e.getLocalizedMessage());
System.out.print("\n");
}
return null;
}
}
类TcpTask扩展异步任务{
插座;
PrintWriter输出服务器;
@凌驾
受保护的Void doInBackground(字符串…参数){
尝试
{
插座=新插座(“192.168.2.168”,1234);
outToServer=新的PrintWriter(新的OutputStreamWriter(socket.getOutputStream());
输出服务器打印(“Ciao”);
outToServer.flush();
}
捕获(例外e)
{
System.out.print(“哎哟!它没用!:”;
System.out.print(例如getLocalizedMessage());
系统输出打印(“\n”);
}
返回null;
}
}
但我无法向服务器发送其他消息,也无法从onPostexecuted方法发送消息,也无法从传递outToServer PrintWriter的MainActivity发送消息
有没有办法实现这一点,或者每次我想发送消息时都必须创建一个新的套接字?没有。您可以使用相同的套接字和流。但是所有的internet代码都必须在另一个异步任务或线程中。好的,那么我必须将outToServer PrintWriter传递给另一个异步任务吗?怎么做?你为什么打电话给PrintWriter outToServer?您编写了不可读的代码。请将PrintWriter变量设置为活动的成员。不属于asynctask。否。您可以使用相同的套接字和流。但是所有的internet代码都必须在另一个异步任务或线程中。好的,那么我必须将outToServer PrintWriter传递给另一个异步任务吗?怎么做?你为什么打电话给PrintWriter outToServer?您编写了不可读的代码。请将PrintWriter变量设置为活动的成员。不属于异步任务。