使用socket连接实现客户端向服务器端的单向通信(socket通信第二弹)
来源:互联网 发布:js下载文件 带进度条 编辑:程序博客网 时间:2024/05/16 04:52
欢迎转载,请注明转载自微信订阅号(安卓编程入门进阶)。
百度云原清晰度地址:http://pan.baidu.com/s/1mhS0H8O
在socket连接状态下实现客户端发送数据到服务器端的功能,需要在客户端编写字符串输出代码,在服务器端编写数据接收代码。每次有输出时启动一次输出线程来完成,数据输出之后线程结束。在服务器端启动一个子线程用于接收数据,线程处于接收数据的阻塞状态,当有数据传入的时候在控制台打印传入的数据,并循环进入下一次阻塞状态监听传进的数据。本次课程在socket连接建立完成的基础之上实现,socket连接建立方法请参阅上一节课程。
1、 在客户端界面有三个控件,原有按钮为启动连接服务器。增加一个输入框用于用户手动输入需要传输的数据,在增加一个按钮用于在用户输入数据完成之后发送数据至服务器。
2、 在客户端MainActivity.java中添加控件的定义初始化,并为发送按钮添加事件监听。发送数据需要新创建一个SendData子线程,创建子线程之后,线程的实例对象在MainActivity.java中初始化并定义,由于数据发送子线程需要socket连接实例,所以需要从MainActivity中将sendData的实例先发送至连接子线程,一旦连接成功之后调用sendData类中的setSocket方法传入socket连接实例。如果需要发送数据到服务器,则在MainActivity.java中调用一次SendData的线程即可。
3、本次课程的服务器端接收到数据之后直接打印到控制台,下次课程讲述将接收信息打印到安卓界面。当服务器接受了socket连接请求之后,使用这个socket连接启动一个新的子线程。子线程中使用bufferedReader来阻塞子线程监听数据的接收过程。如果接收到的数据非空则将数据打印到控制台。
特别注意:在从客户端发送数据的时候必须在每次的数据发送后面添加“\n”换行符,否则数据不会发送出去。
更多最新安卓编程资料请关注微信公众号:安卓编程入门进阶
- 使用socket连接实现客户端向服务器端的单向通信(socket通信第二弹)
- 实现服务器端和客户端的Socket通信
- socket单向通信 客户端
- 3.Socket单向通信--服务器端
- 3.Socket单向通信--客户端
- Socket实现客户端和服务器端的消息通信
- java-基本的Socket编程-实现服务器端和客户端通信
- C++ 简单的 Tcp 实现[socket] 服务器端与客户端通信
- 使用socket 将 服务器端和客户端通信的例子
- 用Socket实现客户端和服务器端通信(完整版)
- android 实现多线程socket通信(客户端到服务器端)
- Socket通信 客户端和服务器端的通信 客户端
- Android 使用socket 实现简单的客户端和服务器端互相通信
- 客户端和服务器端的通信(Socket编程)
- 【Java Socket】入门系列 3.2.编程实现基于 TCP 的 Socket 通信 — 服务器端和客户端
- C++ Socket网络通信实现一个服务器端和多个客户端的通信
- Linux socket编程入门及客户端服务器端通信实现 – 提高篇:TCP连接过程分析
- Android简单实现Socket通信,客户端连接服务器后,服务器向客户端发送文字数据
- 拼音魔法-华东师范大学程序设计竞赛-ecnu3256
- 深入理解javascript原型和闭包(5)——instanceof
- Unity3D说明文档翻译-Network Manager
- display:inline-block引发的间隙问题解决办法
- The basic of Fragment
- 使用socket连接实现客户端向服务器端的单向通信(socket通信第二弹)
- Anaconda 安装出现的conda无法使用问题
- C语言快速回忆书签
- Anaconda下配置python+opencv+contribx
- windows端口占用解决
- 在sublime中编写python一些程序错误
- Linux搭建Samba文件共享服务
- 适配器模式【Adapter Pattern】
- Connecting to beacons in Android SDK