美文网首页
socket通信步骤

socket通信步骤

作者: 约定_6976 | 来源:发表于2018-11-28 13:56 被阅读0次

详情见测试代码socket,可使用框架EasySocket,AndroidAsync

参考 https://blog.csdn.net/carson_ho/article/details/53366856

/**

* 连接服务器

*/

private void connection() {

try {

// 步骤1:连接服务器

        socket =new Socket(HOST, PORT);

        // 步骤2:创建输入流对象InputStream //接收消息的流对象

        mBufferedReader =new BufferedReader(new InputStreamReader(socket.getInputStream()));

        //发送消息的流对象

        mPrintWriter =new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);

    }catch (IOException ex) {

        ShowDialog("连接服务器失败:" + ex.getMessage());

    }

}

//使用PrintWriter发送消息

btn_send.setOnClickListener(new Button.OnClickListener() {

@Override

    public void onClick(View v) {

      final String msg =ed_msg.getText().toString();

        if (socket.isConnected()) {//如果服务器连接

            if (!socket.isOutputShutdown()) {//如果输出流没有断开

                new Thread(new Runnable() {//发送消息要在子线程

                    @Override

                    public void run() {

                  mPrintWriter.println(msg);//点击按钮发送消息

                    }

              }).start();

                ed_msg.setText("");//清空编辑框

            }

}

}

});

//启动线程,连接服务器,并用死循环守候,接收服务器发送过来的数据

mThread =new Thread(new Runnable() {

@Override

    public void run() {

connection();// 连接到服务器

        try {

while (mWorking) {//死循环守护,监控服务器发来的消息

                if (!socket.isClosed()) {//如果服务器没有关闭

                    if (socket.isConnected()) {//连接正常

                        if (!socket.isInputShutdown()) {//如果输入流没有断开

                            // 步骤3:通过输入流读取器对象 接收服务器发送过来的数据

                            String mLine;

                            if ((mLine =mBufferedReader.readLine()) !=null) {//读取接收的信息

                                mLine +="\n";

                                Message message =new Message();

                                message.obj = mLine;

                                mHandler.sendMessage(message);//通知UI更新

                            }else {

}

}

}

}

}

}catch (Exception e) {

e.printStackTrace();

        }

}

});

mThread.start();

相关文章

  • Java学习5-socket通信(2)

    基于TCP协议的socket通信 目标:了解概念,通信模型,实现socket的步骤,服务端和客户端应该做些什么 什...

  • socket通信步骤

    详情见测试代码socket,可使用框架EasySocket,AndroidAsync 参考https://blog...

  • Kotlin网络编程(3)TCP Socket 低层次网络编程

    TCP Socket 通信概念TCP Socket 通信过程Socket 类ServerSocket 类案例:文件...

  • Go语言之三 Socket通信

    socket通信是最基本的一种进程通信方式,要掌握socket通信就需要知晓socket通信的行为语义。 这里go...

  • Socket 通信 知识梳理

    1.socket是网络通信的一项技术,android的socket通信其实使用的是java的socket通信技术。...

  • 5.0.3.Socket

    Socket(网络套接字)是网络编程提供的一种机制,通信的两端都要有socket,网络通信就是socket通信数据...

  • CocoaAsyncSocket --Socket学习

    Socket理论 套接字(Socket)概念 套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信...

  • socket server 篇章

    socket 库 步骤一:端口和IP 步骤二:创建socket 步骤3:将端口和地址 赋值给socket api ...

  • 网络基本

    网络通信的要素 socket通过socket来建立连接,然后通信 IP -- Internet Protocol网...

  • 知识点

    关于Socket通信:客户端通过new Socket()方法创建通信的Socket对象服务器端通过new Serv...

网友评论

      本文标题:socket通信步骤

      本文链接:https://www.haomeiwen.com/subject/ydbaqqtx.html