Android/Socket编程 简单C/S模式

安卓学习笔记40:基于套接字网络编程 1. 了解基于套接字网络有两种传输模式; 2. 掌握基于TCP/IP协议的套接字网络编程 阅读详情

===什么是 Socket ? 

Socket传输模式:  1. 面向连接   2. 无连接(还没研究,这里不提了) 

面向连接使用TCP协议, 这个模式下Socket必须在发送数据之前与目的地Socket取得连接。

建立连接后,既可使用流接口 进行对于的打开,读,写,关闭操作。并且发送数据的顺序,

与接收的顺序保持一致。

见下图:


===Socket构造

在包java.net中提供了两个类:Socket,ServerSocket分别表示双向连接的客户端和服务端。

新建ServerSocket对象,并绑定监听端口

(如上图TCP服务器端0-2步)

void setupServerSocket() throws IOException {
		serverSocket = new ServerSocket();
		serverSocket.setReuseAddress(true);
		// 监听的端口 范围 [1024,65535)
		serverSocket.bind(new InetSocketAddress(port));
	}

阻塞等待客户端发起连接(accept)

				// 阻塞程序 等待客户端连接
				Socket cmdClientSocket = serverSocket.accept();
				// 新起线程去处理cmdClientSocket发来的请求
				// 因为服务端对应客户端可能是 1:0~n
				SessionThreadThread newSession = new SessionThreadThread(
						cmdClientSocket);
				newSession.start();
				// 将线程注册到统一地点 便于管理
				// 这里使用的List管理这些线程
				ftpServerService.registerSessionThread(newSession);

读取客户端传来的数据(read)

BufferedReader in = new BufferedReader(new InputStreamReader(
					cmdClientSocket.getInputStream()), 8192); // use 8k buffer
			while (true) {
				String line = null;
				line = in.readLine();
				if (line != null) {
					// TODO: 
				} else {
					break;
				}
			}

服务端写操作传回客户端(write)

BufferedOutputStream out = new BufferedOutputStream(
					cmdClientSocket.getOutputStream(), Defaults.dataChunkSize);
			out.write(bytes);
			out.flush();

关闭操作(close)

serverSocket.close();
cmdClientSocket.close();
综上ServerSocket会阻塞自身,直接accept()方法得到一个clientSocket,然后操作clientSocket,与客户端的Socket进行通讯。这点在上图中能很好的体现。 附上: Wifi下 Android(客户端)与PC(服务端)通信
android客户端实现与服务器交互的用户登录功能 实现一个简易的用户登录,客户端为android移动应用,服务器使用javaweb servlet实现,账号:admin;密码:123456; 立即下载

相关推荐

项目文件——基于CS模式的android手机与PC机通信系统的开发

项目文件——基于CS模式的android手机与PC机通信系统的开发

《基于C/S模式的android手机与PC机通信系统的开发》项目

基于C/S模式的android手机与PC机通信系统的开发 作者:郑海波 单位:南京邮电大学 通信与信息工程学院 信号与信息处理 6班 学号:1012010638 邮箱:zhb931706659@126.com ------------------------------------------------------------------------------------------

郑海波(莫川)的优快云博客 1万+

Android C/S结构代码

基于apache mina框架的C/S结构代码,包含图片传输代码

android编写服务器端,用Android搭建客户端 手机和服务器交互开发实例

笔者以前是学的Java EE,由于项目需要要开发Android,所以临时补了一个多星期,主要是手机端和服务器端交互,双向开发的。首先在服务器端,我采用的是SSH框架,struts 2集合了JSON插件,服务器和客户端的信息交互采用的JSON来传输,由于在服务器端用了Struts 2,所以我就用装了一个JSON插件。这样,很轻易的就把服务器端的信息用JSON的形式发送到了手机端。以下是代码:首先,在...

weixin_30872577的博客 1500

计算机网络 基于C/S模式的简单聊天程序

计算机网络 基于C/S模式的简单聊天程序,可运行

C++与android通过socket通信(上个版本端口弄错了,这个可以运行)

C++编写的服务器端跟android上编写的手机客户端进行socket通信,传动多种数据。用VC6.0直接打开C++ Server,用eclipse直接打开android socketTest。注意修改一下安卓代码中的IP地址。程序中java和C++的通信的内容使用了:http://download.youkuaiyun.com/detail/nuptboyzhb/4595415中的内容,在此感谢。

Android C++ 系列:Linux Socket 编程(二)网络套接字函数_安卓用c

三方握手完成后,服务器调用accept()接受连接,如果服务器调用accept()时还没有 客户端的连接请求,就阻塞等待直到有客户端连接上来。典型的服务器程序可以同时服务于多个客户端,当有客户端发起连接时,服务器调用的 accept()返回并接受这个连接,如果有大量的客户端发起连接而服务器来不及处理,尚未 accept的客户端就处于连接等待状态,listen()声明sockfd处于监听状态,并且最多允许有 backlog个客户端处于连接待状态,如果接收到更多的连接请求就忽略。查看系统默认backlog。

2401_84976246的博客 1193

基于C/S模式的android手机与PC机通信系统的开发

MFC界面编程 C++网络编程 C++多线程编程 接收消息与发送消息的分离 Windows系统编程

Android登录界面的实现

最近由于项目需要,宝宝好久没搞Android啦,又是因为项目需要,现在继续弄Android,哎,说多了都是泪呀,别的不用多说,先搞一个登录界面练练手,登录界面可以说是Android项目中最常用也是最基本的,如果这个都搞不定,那可以直接去跳21世纪楼啦。废话不多说,先上效果图

文明的小流氓的博客 1万+

HCLR-Net: 混合对比学习正则化与局部随机扰动用于水下图像增强

独特贡献在于开发了一种处理负样本的新策略,既保留了负样本的统计特性,又防止网络过度剖析这些样本中的特征信息。通过根据每个通道特征的重要性对模型进行加权,我们可以增强富含上下文信息的通道,从而获得更准确、更详细的特征表示。AHA 模块利用垂直方向上的 Avgpool 和水平方向上的 Maxpool 来捕捉远程依赖关系和准确的位置信息,从而有效确定不同方向上的特征退化。对比学习策略通常旨在最小化正样本之间的欧氏距离,使预测图像更接近理想图像,同时最大化负样本与预测图像之间的距离,使它们进一步远离非理想表征。

G-Howe的博客 1457

问题:dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)

 1. 问题:Ubuntu安装软件的过程中出现依赖项的问题 “E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).” 按照指示执行如下两条命令都没有解决问题。 sudo apt-get -f install sudo apt-get --fix-broken ...

gloria_littlechi的博客 2万+

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.6节Socket网络通信

本节书摘来自异步社区《Android 3D游戏开发技术宝典——OpenGL ES 2.0》一书中的第2章,第2.6节Socket网络通信,作者 吴亚峰,更多章节内容可以访问云栖社区“异步社区”公众号查看 2.6 Socket网络通信Android 3D游戏开发技术宝典——OpenGL ES 2.0伴随着移动互联网的高速增长,智能手机上的游戏娱乐应用也逐...

weixin_33841503的博客 154

通义千问语言模型Qwen2.5架构详解

此外,将基于API的模型 Qwen-Plus 与领先的专有和开源模型进行了对比,包括 GPT4-o、Claude-3.5-Sonnet、Llama-3.1-405B和DeepSeek-V2.5。Qwen2.5-Math-72B-Instruct的整体性能超越了Qwen2-Math-72B-Instruct和GPT4-o,甚至是非常小的专业模型如 Qwen2.5-Math-1.5B-Instruct也能在与大型语言模型的竞争中取得高度竞争力的表现。近来也出现了明显的转向小型语言模型(SLMs)的趋势。

搏博的专栏 1万+

Android网络编程

网络的基本知识 - IP地址和端口号 IP地址:网络中每台计算机都必须有唯一一个IP地址做标识,用一组由“.”分隔的十进制数组成 端口号:具有网络功能的应用软件的标识号 网络协议 OSI七层模型 TCP/IP概念层模型 功能 TCP/IP协议族 应用层 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示...

qq_39485117的博客 432

nvlddmkm事件ID14报错排查全指南:从找不到描述到显卡驱动崩溃

系统日志中的“无法找到描述”往往让人一头雾水,但这类提示其实隐藏着驱动故障的关键线索。Windows事件查看器通过事件源和ID记录系统异常,其中显卡驱动相关的内核模式驱动组件一旦超时失败,就会触发TDR机制,产生13、14、153等不同事件ID。理解这些ID的含义,比纠结“找不到描述”本身更重要。对于频繁出现的驱动崩溃问题,可以从日志频率和发生场景判断方向,再通过安全模式下彻底清理驱动、关闭冲突软件、检查供电和温度等步骤逐层定位。无论是游戏满载黑屏,还是睡眠唤醒后闪退,掌握NVIDIA驱动日志的解读逻辑,都

weixin_30545945的博客 414

新手也能懂的Simulink汽车二自由度建模:从公式推导到模型搭建全流程

本文为新手提供了在Simulink中搭建汽车二自由度模型的完整实战指南。文章从模型核心概念讲起,详细讲解了如何将车辆动力学方程转化为状态空间模型,并逐步指导在Simulink中实现从参数设置、模块搭建到仿真验证的全过程。通过阶跃转向测试和参数影响分析,帮助读者直观理解车辆转向特性,并提供了实用的模型扩展思路与常见问题排查技巧。

weixin_29047919的博客 214

安卓Socket通信实例(C/S)

安卓Socket通信实例 ​ 推荐一个很棒的文章 ​ https://blog.youkuaiyun.com/qq7342272/article/details/9698413 本文摘自: https://whatsblog.icu/index.php/Android/17.html 1、Socket通信必须知道的地方 1、首先,Socket通信采用TCP模式,客户端需要连接到服务端 2、采用网络,需要打开Internet权限 3、需要合理调用线程,熟悉线程与输入输出流的使用 4、socket服务端和客户

u011309745的博客 1771

Aurix TC3xx系列MCU DMA模块配置方法(二)

本文主要基于英飞凌Aurix TC3xx系列MCU,通过EB tresos配置工具,介绍DMA驱动模块的配置方法。

m0_38045338的博客 2850

【免杀前置课——Windows编程】十五、网络编程——C/S,B/S模式分别是什么?WinSocket、Socket传输的定义和其特点、实现简易通信(附代码)

【免杀前置课——Windows编程】十五、网络编程——C/S,B/S模式分别是什么?WinSocket、Socket传输的定义和其特点、实现简易通信(附代码)

m0_62783065的博客 924

【OpenFOAM】-olaFlow-算例4- irreg45degTank

不规则波浪模拟

ou_no的博客 2117

CPD (Coherent Point Drift) 算法实现点云配准 C++版

作为和icp并列的点集配准算法cpd为什么没有icp火,等我把整个方案跑完才明白。 首先下载cpd https://github.com/gadomski/cpd 包含的fgt https://github.com/gadomski/fgt 下载到win10的解压后 运行cmake来进行编译 这个时候会提醒缺少eigen3 fgt python 这几个都安装排除后 在build文件夹下会生成vs2017的源码,右键全部生成后在 .\cpd-master\build\Debug 下会生成一个cpd.li

uranus1992的博客 3510

Android 网络编程(1)——Socket编程So easy

Android网络编程概述 首先,了解的几个问题: 1、Android系统网络相关API接口 1)、java.net.*(标准Java接口) java.net.*提供与联网有关的类,包括流、数据包套接字(socket)、internet协议、常见Http处理等。比如创建URL,以及URLConnection/HTTPURLConnection对象、设置链接参数、链接到服务器、向服务器写数据、从服务器读取数据等通信。这些在Java网络编程中均有涉及。 2)、Org.apache接口 对于大部分应用程序而言JD

m0_54852350的博客 657

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Android Socket使用详解

即套接字,是一个对 TCP / IP协议进行封装 的编程调用接口(API)即通过Socket,我们才能在Andorid平台上通过TCP/IP协议进行开发Socket不是一种协议,而是一个编程调用接口(API),属于传输层(主要解决数据如何在网络中传输)成对出现,一对套接字:Socket ={(IP地址1:PORT端口号),(IP地址2:PORT端口号)}

2301_80488270的博客 1808

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

android c++ socket编程,C++ 中 socket编程实例详解

C++ 中 socket编程实例详解sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。在这个程序中,将两个工程添加到一个工作区。要链接一个ws2_32.lib的库文件。服务器端编程的步骤:1:加载套接字库,创建套接字(WSAStartup()/socket(...

weixin_42398171的博客 778

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: Android APK之代码混淆与反编译
下一篇: Android/读取指定类型的文件
多格AI零代码
博客等级 码龄15年 40粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值