最近接触的一个案例需要用到通讯方式,首先想到的是socket通讯,–代码比较简单;然后就去网上查代码,找了很久发现一个大牛写的很详细>>> 跳转

一:Android:接收以及发送消息

1,首先实例化socket 即 socket = new Socket(服务器IP, 服务器端口号); 两个参数,参1为String类型,参2为Int类型
  • 1
  • 1
2,接收服务器信息
BufferedReader in = new BufferedReader(   new InputStreamReader(socket.getInputStream()));
String msg = in.readLine();
“ok,其中msg就是我们在服务器上读到的数据”
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4
3.向服务器发送信息
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));bw.write("111");//111为发送的内容bw.flush();//提交发送信息请求bw.close();//关闭
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

二:服务器端:接收与发送给android消息

ServerSocket ss=new ServerSocket(port);
while(true){
//服务器端一直在运行等待客户端发送socket,对于一个新的socket,服务器则建立一个新的socket.
Socket s=ss.accept();
1.读消息:与客户端完全相同
// 接受客户端信息
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
2.发消息:与客户端程序完全相同
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
bw.write("111");//111为发送的内容
bw.flush();//提交发送信息请求
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

三:网络权限,既然是涉及到通讯,必不可少的就是网络访问权限

<uses-permission android:name="android.permission.INTERNET"/>
  • 1
  • 1

四:关于PrintWriter与BufferedWriter的区别

涉及到的一个知识点 
1. PrintWriter的print、println方法可以接受任意类型的参数,而BufferedWriter的write方法只能接受字符、字符数组和字符串; 
2. PrintWriter的println方法自动添加换行,BufferedWriter需要显示调用newLine方法; 
3. PrintWriter的方法不会抛异常,若关心异常,需要调用checkError方法看是否有异常发生 
4. PrintWriter构造方法可指定参数,实现自动刷新缓存(autoflush); 
5. PrintWriter的构造方法更广。

五:其它知识点 
贴一跳转>>>这个帖子是讲android模拟器当客户端,电脑当服务器使用的,经过测试没有问题。注意IP一定为android的固定通信ip–10.0.2.2. 
贴二跳转>>>也可以利用android客户端当服务器,pc机器当客户端通信,也可以通过多个模拟器之间进行通信,但需要窗口重定向。

Android与服务器通信之socket通信相关推荐

  1. Android java和C的Socket通信demo(可用)

    原址 关于Android应用与Framework的socket通信,相信关心这个问题的朋友们已经看过<android使用socket使底层和framework通信>这篇文章,美中不足的是作 ...

  2. C#通信之Socket通信的简单例子

    socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 这里构建一个简单的例子 ...

  3. Android客户端与PC服务器如何实现Socket通信

    转载链接←←←← 本文介绍Android终端持续扫描AP信息并发送给服务器端的实现.首先基于TCP协议在Android终端和PC两端之间形成网络虚拟链路.使用ServerSocket创建TCP服务器端 ...

  4. flash php socket通信_php socket通信机制实例说明

    php socket通信机制实例说明与代码----什么是socket 所谓socket一般也称作"套接字",用于描述ip地址和端口,是一个通讯链的句柄.使用程序一般经过" ...

  5. QT中使用C++ socket通信,socket通信原理三次握手和四次握手详解、客户端与服务端实例详解

    对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵.那么我想问: 1.         什么是TCP/IP.UDP? 2.         Soc ...

  6. C# 开发USB通信、串口通信、Socket通信(适用于打印机的指令操作等)

    背景:公司最近需要用到外接打印机(型号:东芝标签打印机B-FV4T,采用东芝自定义的TPCL指令格式),现在市场上可以购买到的主流打印机一般都是支持一下通信模式的. 1:USB通信 2:网络通信 3: ...

  7. java socket通信demo_Java Socket通信示例

    Socket分为ServerSocket和Socket两大类: 其中ServerSocket用于服务器端,可以通过accept方法监听请求,监听到请求后返回Socket: Socket用户具体完成数据 ...

  8. android 两个客户端间的通信(Socket通信)

    2019独角兽企业重金招聘Python工程师标准>>> 客户端之间通信:    实际上两个客户端不能直接通信,要借助服务器来做为中转站,才能实现双方通信. 一个客户端发送数据到服务器 ...

  9. PC与Android通过USB连接进行Socket通信

    PC端与Android端都有各自的端口,并不通用,二者的联系势必要借助adb桥进行通信,话不多说直接上图 针对图示的解释 1. adb默认的端口号为5037 2. 为PC和Android搭桥的过程就是 ...

最新文章

  1. 数据竞争(data race)问题分析的利器——valgrind的Helgrind
  2. Lua 代码编写技巧
  3. Android中ImageView的scaleType 属性说明。
  4. android 兼容性定义,谷歌释出 Android 7.0 兼容性定义文件,史上最严
  5. 小米11 Pro概念图曝光:曲面挖孔屏+后置五摄相机模组
  6. Nginx+Redis 搭建高性能缓存利器
  7. mysql使用中文报错,hibernate mysql 插入中文错误
  8. IDEA将web项目打成war包
  9. 安装MongoDB时弹窗错误,使用时无法启动服务器
  10. Visual Studio 2019安装MFC开发工具包
  11. 手机型号大全_《华为手机型号大全》值得收藏
  12. 印象笔记mac版 同步问题_印象笔记国际版无法登陆/同步问题
  13. 西电计科院Python程序设计随课笔记(李光夏)
  14. python云图_python聚合云图
  15. Android模仿微信语音聊天功能
  16. 2022年Java应届生面试之Spring框架基础知识
  17. 子矩阵的和(Python实现)
  18. 国产男装「升级潮」下,九牧王、劲霸、海澜之家们顺利「上分」了吗?
  19. 有哪些日记app可以用来记录生活?
  20. children和childNodes 的区别

热门文章

  1. 前端学习(2572):如何使用vuex
  2. 前端学习(2457):文章发布
  3. 前端学习(1956)vue之电商管理系统电商系统之添加代码到仓库中
  4. 前端学习(1118):高阶函数
  5. 前端学习(294):rem小实例
  6. 第八十七期:爬了知乎“沙雕问题”,笑死个人!
  7. 第二十四期:管理 | 成功领导远程IT团队的7个技巧
  8. linux命令修改内容怎么回退,linux命令(修改).doc
  9. 前端框架Vue——vue-i18n ,vue项目中如何实现国际化,$t的用法
  10. vue项目结构(未抽离成.vue文件前的结构)