Android 执行Socket socket = new Socket(ip, port)就崩溃

@SmartSi
博客专家认证
2014-10-18 06:04:54
Android 执行Socket socket = new Socket(ip, port)就崩溃
抛出个异常:android.os.NetworkOnMainThreadException


why????????
...全文
903 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
forkn 2016-03-09
  • 打赏
  • 举报
回复
引用 7 楼 hjq2013 的回复:
访问网络操作要放在分线程!
太感谢了,我出现同样问题,然后自己创建了一个新分线程,把sokect放分线程里,好用了,能与电脑通讯。
哎,真难 2014-10-23
  • 打赏
  • 举报
回复
引用 10 楼 jackzhouyu 的回复:
[quote=引用 3 楼 heaimnmn 的回复:] 首先异步线程,第二权限问题
你说的权限是访问网络的权限吗?这个权限是必须的吗?[/quote]肯定是必须的,,,
  • 打赏
  • 举报
回复
引用 11 楼 heaimnmn 的回复:
[quote=引用 10 楼 jackzhouyu 的回复:] [quote=引用 3 楼 heaimnmn 的回复:] 首先异步线程,第二权限问题
你说的权限是访问网络的权限吗?这个权限是必须的吗?[/quote]肯定是必须的,,,[/quote] 权限是不是这个android.permission.INTERNET????
  • 打赏
  • 举报
回复
引用 3 楼 heaimnmn 的回复:
首先异步线程,第二权限问题
你说的权限是访问网络的权限吗?这个权限是必须的吗?
q172842903 2014-10-22
  • 打赏
  • 举报
回复
主线程请求网络了吧
Hare_ 2014-10-20
  • 打赏
  • 举报
回复
访问网络操作要放在分线程!
snowrain_2008 2014-10-20
  • 打赏
  • 举报
回复
看异常就表明你的socket是ui线程new的。要放入handler或者2楼大侠的thread里面
gao_chun 2014-10-20
  • 打赏
  • 举报
回复
在主线程里干啥了 ??????
dali_yan 2014-10-20
  • 打赏
  • 举报
回复
連接網絡的操作不允許放在UI線程(主線程)中,你可以通過子線程來操作網絡,然後通過handler來更新界面(如果需要的話),2樓的處理辦法可以實現。
哎,真难 2014-10-20
  • 打赏
  • 举报
回复
首先异步线程,第二权限问题
Birds2018 2014-10-20
  • 打赏
  • 举报
回复

new Thread() {
   public void run(){

    Socket socket = new Socket(ip, port)
  }
}.start();

zhimingcom 2014-10-20
  • 打赏
  • 举报
回复
异常名称就能看出端倪来
Kifile 2014-10-18
  • 打赏
  • 举报
回复
新建线程,处理网络时间吧, android 不允许在 ui 线程上处理网络交互事件

80,354

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧