【发布时间】:2011-08-23 21:36:33
【问题描述】:
我的计算机上正在运行一个服务器,我希望我的 android 应用程序能够连接到它。换句话说,我想编写一个建立 TCP 连接的 Android 客户端,向服务器写入一些内容并监听来自服务器的响应。下面是客户端代码:
public class Text extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
String fromServer, ToServer, filename;
BufferedReader inFromServer;
PrintWriter outToServer;
Socket clientSocket;
super.onCreate(savedInstanceState);
try
{
clientSocket = new Socket("86.36.32.251", 8000);
outToServer = new PrintWriter(clientSocket.getOutputStream(),true);
inFromServer = new BufferedReader(
new InputStreamReader(clientSocket.getInputStream()));
filename = "profile.txt";
ToServer = Reader.readFileAsString(filename);
ToServer += "\n";
outToServer.println(ToServer);
while((fromServer = inFromServer.readLine()) != null)
{
TextView tv = new TextView(this);
tv.setText(fromServer);
setContentView(tv);
}
inFromServer.close();
}
catch(UnknownHostException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
但是,当我运行我的应用程序时,该应用程序没有与我的服务器建立 TCP 连接。我不知道问题可能是什么。我已经浏览了以下链接http://thinkandroid.wordpress.com/2010/03/27/incorporating-socket-programming-into-your-applications/,它讨论了套接字编程的客户端,我觉得我的客户端中有所有主要步骤。有人可以帮我解决这个问题。谢谢
【问题讨论】:
-
你是用模拟器测试的吗?
-
您是否在清单文件中添加了
android.permission.INTERNET权限? -
当你说“没有建立TCP连接”时,是什么意思?这是否意味着服务器或客户端正在抛出异常?或者,您是说向服务器发送请求后没有得到任何响应?
标签: android sockets client-server