【问题标题】:Why this socket is not executed successfully?为什么这个socket没有成功执行?
【发布时间】:2018-04-16 12:59:44
【问题描述】:
public boolean connection(View view)
    {
        boolean x=true;
        try
        {
            serverSocket= new ServerSocket(9999);
            socket = serverSocket.accept();
            Toast.makeText(creator.this,"ServerStarted,",Toast.LENGTH_SHORT).show();
            C.setEnabled(true);

        } catch (IOException e)
        {
            Toast.makeText(creator.this,"Server is not Started,",Toast.LENGTH_SHORT).show();
            e.printStackTrace();
            x=false;
        }
        return x;
    }

当这个函数要执行时,应用程序停止工作。

为什么这里不允许socket.accept();

【问题讨论】:

  • ServerSocket 将等待直到有 SocketClient 连接到它。这就是你的意图?
  • 是的,连接成功后能正常工作吗?我在 socket=serverSocket.accept(); 中遇到错误
  • 如果对方可以打开您的代码的套接字,它应该可以工作。
  • 贴出尝试连接它的另一端代码,如果有则错误
  • 好的,我会尽快发布

标签: java android sockets serversocket


【解决方案1】:

您有一个NetworkOnMainThreadException,因为所有网络代码都应该在线程或 AsyncTask 中执行。

当你这样做时,你不能使用Toast()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-06
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多