【发布时间】:2018-01-06 00:10:36
【问题描述】:
我是套接字网络编程的初学者。我想在同一个网络下执行一个简单的网络连接(使用 java),并试图将我的 android 手机(客户端)连接到我的笔记本电脑(服务器)两天,但没有积极的结果。
我尝试了很多方法,例如:
1) 包括清单用户权限
2) 关闭防火墙
3) 通过在cmd中检查ipconfig来确认服务器ip地址
4) 确保客户端和服务器在同一网络上
5) 确保服务器的端口号和IP地址正确(例如:192.168.x.x)
6) 试试公网ip地址
最后都是“不幸的是,连接已停止”。当我在智能手机中运行我的应用程序时。
错误:android.os.NetworkOnMainThreadException。
客户端代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SetGUI();
send.setOnClickListener(this);
}
public void onClick(View view) {
try {
Socket socket = new Socket(serverName,serverPortNumber);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void SetGUI(){
send = (Button) findViewById(R.id.btn_send);
readText = (TextView) findViewById(R.id.tv_read);
writeText = (EditText) findViewById(R.id.et_write);
}
请帮助并展示任何可能的解决方案。 抱歉,如果我的英语让您难以理解内容。
【问题讨论】:
-
将堆栈跟踪添加到您的问题中
-
你能发布一些你正在使用的代码吗?
-
感谢您的阅读。被忽略了异常(android studio 的新手)。非常抱歉,我们会对此进行进一步研究并在稍后与大家更新。@LunarWatcher@NilsSchlüter
标签: java android sockets network-programming