android Socket与SocketServer

【Android】基于Socket的即时聊天(群聊) 近来感觉秋招无望,学习Socket的时候,便做了个基于Socket的群聊工具; 先看看最终效果吧 项目GitHub通道(详细代码请自行copy)如何利用Socket通信 socket又称为“套接字”,建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口; 阅读详情


今天也算是做了个实验吧

实验材料: nexues7 ,笔记本,猎豹WiFi。

目的:实现nexue7 做客户端,连接笔记本上的服务器端。 源码来自:《疯狂android 讲义》


为啥要用猎豹WIFI呢?因为我的平板和电脑的IP不在同一网段,也没有公网IP的主机,为了使他们能局域网通信,猎豹WIFI为我省了无线路由。

还有一种方法,就是用电脑设置个无线网路,然后,nexues 7连接上。

步骤:

1.猎豹wifi 安装后,启动,nexues 7连接这个WiFi信号。

2.用cmd 可以看到,电脑的无线网卡的IP地址,


查看nexues 7的IP地址为 :192,.168.155.2


3.服务器端源码:

public class SimpleServer {
	
	public static void main(String[] args)throws IOException
	{
		//创建一个ServerSocket ,监听客户端socket的连接请求
		ServerSocket ss= new ServerSocket(8090,10,InetAddress.getByName ("192.168.155.1"));
		
		while(true)
		{
			Socket s=ss.accept();
			OutputStream os=s.getOutputStream();
			os.write("您好,您收到了来自服务器的新年祝福!\n".getBytes("utf-8"));
			os.close();
			s.close();
			
		}
		
		
	}

}


4.android 客户端源码:


public class SimpleClient extends Activity{

	
	 EditText show;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.simpleclient);
		show=(EditText)findViewById(R.id.ed);
		
		new Thread()
		{
			@Override
			public void run()
			{
				try
				{
					Socket s=new Socket("192.168.155.1",8090);
					BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
					String line=br.readLine();
					show.setText("来自服务器的数据:"+line);
					br.close();
					s.close();
				}
				catch(IOException e)
				{
					e.printStackTrace();
				}
			}
			
		}.start();
		
		
		
	}//
	
	
	

}

OVER!


还有一种新建无线局域网的功能,不用猎豹WIFI,只用笔记本电脑就好的:







Android Socket通信编程 在上面的示例中,我们在MainActivity的onCreate()方法中创建了一个SocketClient实例,并调用sendMessage()方法发送消息到服务器。当然,在实际的应用中,我们还需要进行错误处理、线程管理等其他操作,以确保通信的可靠性和稳定性。除了Socket客户端,我们还可以在Android应用中创建一个Socket服务器,接受客户端的连接并处理数据。在上面的示例中,我们创建了一个SocketClient类,它接受服务器的IP地址和端口号作为参数。 阅读详情

相关推荐

Android开发,Socket Client端和Socket Server端数据发送和接收

Android开发,Socket Client端和Socket Server端数据发送和接收

Android Socket学习(一)unix_socket

关于unix_socket的背景这里放一篇链接 Android Framework实战开发视频--跨进程通信之Socket通信_learnframework的博客-优快云博客 本文代码也是基于本篇提供的基本代码编写的 unix_socket_service.c #include <stdlib.h> #include <stdio.h> #include <stddef.h> #include <sys/socket.h> #include &lt

we1less的博客 733

nacos3.1.0适配国产数据库

Nacos 3.1.0适配国产数据库指南 本文介绍了Nacos 3.1.0版本适配达梦数据库和人大金仓数据库的具体步骤。主要内容包括:添加达梦和人大金仓的JDBC驱动依赖,修改nacos-persistence模块的配置文件及相关Java类,以及打包和运行注意事项。文章特别指出3.1.0版本需要JDK17环境,并提供了解决常见问题的建议,如添加VM options配置和不同启动方式等。通过本文的配置指导,可以实现Nacos服务在国产数据库环境下的正常运行。

梦昼初的博客 1463

android serversocket 监听,如何编写Android SocketServer来监听wifi

private String getIPAddress() throws SocketException {ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo info = connectivityMana...

weixin_39598501的博客 422

TI电机驱动应用中MOSFET选型完整指南

深入解析TI电机驱动设计中MOSFET的选型关键,涵盖参数匹配、热性能与开关效率,帮助工程师优化系统性能并提升能效,是掌握MOSFET应用的核心参考。

weixin_42263617的博客 1269

基于STM32、HAL库的WF162A 11BA T&R气压传感器 驱动程序设计

/ 转换为7位地址。* @param temperature: 存储读取到的温度值(°C)* @param temperature: 存储读取到的温度值(°C)* @param pressure: 存储读取到的压力值(bar)* @param pressure: 存储读取到的压力值(bar)* @param range: 压力范围(bar)

corlin6688的博客 361

android Socket 和 ServerSocket简单实现

android Socket 和 ServerSocket简单实现

Alex老夫子的专栏 1877

【Verilog基础】CDC跨时钟域方法,典型异步电路设计之脉冲同步器(上)

【Verilog基础】CDC跨时钟域方法,典型异步电路设计之脉冲同步器(上):慢时钟域到快时钟域!

悟已往之不谏 知来者之可追 1544

Android Socket 服务器ServerSocket发数据到客户端

使用Socket和ServerSocket在局网使用二台电脑 创建服务器和客户端连接,发送数据 第一步创 建服务器 在台试电脑 AbdroidStudro,MainActivity类创建 ServerSocket服务器,发送数据给笔记本电脑客户端 在电脑打开Telnet服务器设置 //telnet localhost 建立聊天服务器 public stati...

7758258博客 5640

在 ABAP 中把变量一次写对:深入理解 FINAL 内联声明与不可变变量

摘要:ABAP中的FINAL声明操作符用于定义不可变变量,强调"当前上下文中的唯一写位置",能有效防止变量被意外修改,提升代码健壮性和可读性。官方建议优先在单次赋值的场景使用FINAL替代DATA。其核心规则包括:1)写位置唯一但可多次执行(如循环内);2)不创建块级作用域;3)对引用变量仅约束引用本身而非对象内容。典型适用场景包括:结果值只读、输入快照保存和中间结果保护。例外情况如游标变量不适用,因需多次写操作。正确使用FINAL可显著降低代码维护风险。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1044

基于Simulink的自适应反步法(Adaptive Backstepping)控制​

本文针对非线性系统控制中未知参数和强非线性耦合的挑战,提出基于Simulink的自适应反步法解决方案。通过融合参数在线估计与反步递归设计,该方法显著提升了永磁同步电机(PMSM)速度控制的鲁棒性,使跟踪误差从20%降至3%,参数估计收敛时间小于0.5秒。文章详细阐述了从算法推导到Simulink实现的完整流程,包括系统架构设计、核心算法推导(以PMSM为例)、模块化建模方法、参数优化策略以及工程部署建议。提供的自适应控制器MATLAB代码和关键参数表可直接应用于实际工程,为电机驱动、机械臂等非线性系统控制提

xiaoheshang_123的博客 101

Android Socket(Client&Server)

安卓Socket通信实例 ​ 推荐一个很棒的文章 ​ https://blog.youkuaiyun.com/qq7342272/article/details/9698413 1、Socket通信必须知道的地方 1、首先,Socket通信采用TCP模式,客户端需要连接到服务端 2、采用网络,需要打开Internet权限 3、需要合理调用线程,熟悉线程与输入输出流的使用 4、socket服务端和客户端编码方式不一致将有可出现中文乱码问题 5、在收发数据前,必须和对方建立可靠的连接。 一个TCP连接必须要

w_Eternal的博客 5635

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

android socketserver socket

socketserver: import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class ServerThread extends Thread{ private ServerSocket server; public static boolean ServerT

shion1986_0514的专栏 471

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

android连接socket服务器上传下载多个文件

android连接socket服务器上传下载多个文件 1.socket服务端SocketServer.java public class SocketServer { int port = 8888;// 端口号,必须与客户端一致 // 选择进行传输的文件(测试) String path = "C:\\Temp"; String filePath = "E:\\img.png"; S

jalin_520的专栏 2451

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

android 里使用Socket进行发送消息案例

猜拳 源码http://www.eoeandroid.com/thread-114907-1-1.html 自己实现的Android曲线图http://www.eoeandroid.com/thread-207218-1-1.html android游戏物理引擎源码http://www.eoeandroid.com/thread-207445-1-1.html socketServer类 ...

weixin_30398227的博客 132

使用 java| android 编写第一个服务器

首先在安卓端设置相应的组件来展示服务器发送的消息,例如TextView socket通信需要新开一个线程,这是由于进行网络通信这类不稳定耗时的任务,可能对UI线程造成阻塞,所以Android2.3之后的平台不允许在UI线程中建立网络链接以及数据通信 客户端使用Socket类 ,在构造方法中指定接收消息的服务器ip地址和端口号,在服务端使用SocketServer来监测是否有客户端向自己发送请求。 android客户端向服务器发送请求 package com.example.myapplica...

大西瓜不甜的博客 276

Cocos2d-x 3.x利用Socket创建客户端和服务端

From:http://cn.cocos2d-x.org/tutorial/show?id=2193Socket基类包括Socket的初始化,主要是Windows上,在Android上就不需要了。如果平台为Windows,则需要初始化1234567891011121314151617SocketBase::SocketBase(){    _bInitSuccess = false;    #if...

weixin_34174105的博客 132

Android设备和PC端通过USB线通信

一、原理 通过 adb forward来实现,adb forward tcp:7777 tcp:8888。将本机7777端口收到的数据,转发到android设备的8888端口上。 二、实现步骤 1、在android设备上建立一个端口为8888的SocketServer,并打开server到监听状态,即serverSocket.accept()。 2、监听PC上的7777端口,即执行adb for...

dami_lixm的专栏 1994

socket 通信远程android

如何实现“socket通信远程android” 作为一名经验丰富的开发者,我将教会你如何实现“socket通信远程android”。首先,我将向你展示整个过程的流程图,然后详细说明每一步需要做什么以及涉及到的代码。 流程图 #render_9_3305071159-svg{font-family:"trebuchet ms...

weixin_41122379的博客 62

多线程中使用Socket Server的问题

写安卓遇到的问题,一个启动监听的按钮,一个关闭监听的按钮,在启动关闭之后再启动将出现问题端口被占用,所以是因为前一个已启动的监听线程并没有被正常关闭导致端口还在被占用。虽然使用了interrupt,但是前一个监听线程并没有出现阻塞的情况,而是处于类似死循环的状态,所以没有抛出异常而被处理。 Socket Server的accept方法和Socket的connect方法使用的都是类似于循环的方法,

u012876995的博客 1036

java 推送 android_在Android socket编程中如何实现消息推送_android_java推送消息_socket编程_课课家...

Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在InterNET上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。在Android socket编程中如何实现消息推送(一)讲到socket编...

weixin_29022299的博客 497
上一篇: errors were encountered while processing qmail qmail-run
下一篇: Java 的多线程
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值