当前位置: 首页 > news >正文

【WPF】应用程序和已知安卓设备的局域网IP之间进行通信

要在WPF应用程序和已知安卓设备的局域网IP之间进行通信,可以使用Socket通信。以下是一个基本的示例:

  1. 在WPF应用程序中创建一个Socket对象并连接到安卓设备的IP地址和端口号:
using System.Net.Sockets;// 创建一个Socket对象
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);// 连接到安卓设备的IP地址和端口号
string ipAddress = "192.168.0.100"; // 假设安卓设备的IP地址是192.168.0.100
int port = 1234; // 假设安卓设备的端口号是1234
socket.Connect(ipAddress, port);
  1. 在WPF应用程序中发送消息到安卓设备:
// 要发送的消息
string message = "Hello, Android!";// 将消息转换为字节数组
byte[] buffer = Encoding.UTF8.GetBytes(message);// 发送消息到安卓设备
socket.Send(buffer);
  1. 在安卓设备上创建一个Socket服务器来接收来自WPF应用程序的消息。你可以使用Java的ServerSocketSocket类来实现:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;// 创建一个ServerSocket对象并监听指定的端口号
int port = 1234; // 假设监听的端口号是1234
ServerSocket serverSocket = new ServerSocket(port);// 接受来自WPF应用程序的连接
Socket socket = serverSocket.accept();// 读取WPF应用程序发送的消息
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message = reader.readLine();// 处理接收到的消息
System.out.println("Received message: " + message);// 关闭连接
socket.close();
serverSocket.close();

这只是一个基本的示例,实际应用中可能需要处理更多的错误和异常情况。同时,建议你在进行Socket通信时,考虑安全性和网络稳定性等因素。

遍历到多个ip尝试通信

如果要使用foreach方式建立多个IP的Socket连接,可以将每个IP地址存储在一个List<string>中,然后使用foreach循环遍历该列表,依次建立连接。

以下是一个示例代码:

using System;
using System.Collections.Generic;
using System.Net.Sockets;class Program
{static void Main(){List<string> ipAddresses = new List<string>(){"192.168.0.100","192.168.0.101","192.168.0.102"};int port = 1234;foreach (string ipAddress in ipAddresses){Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);try{socket.Connect(ipAddress, port);Console.WriteLine("Connected to: " + ipAddress);// 这里可以进行发送和接收数据的操作}catch (Exception ex){Console.WriteLine("Failed to connect to: " + ipAddress + ", Error: " + ex.Message);}finally{socket.Close();}}}
}

在上述示例中,我们创建了一个List<string>类型的ipAddresses列表,其中存储了多个IP地址。然后,使用foreach循环遍历列表中的每个IP地址,依次创建Socket对象并尝试连接。如果连接成功,将打印连接成功的消息,否则将打印连接失败的消息。

你可以根据实际情况修改ipAddresses列表和port变量来适应你的需求。在连接建立后,你可以在相应的位置进行发送和接收数据的操作。需要注意的是,连接建立后,应该及时关闭Socket连接,以释放资源。

相关文章:

  • P1009 [NOIP1998 普及组] 阶乘之和
  • SSRF攻击实例讲解
  • 大数据技术13:HBase分布式列式数据库
  • FS基础概念
  • 蓝桥杯 day01 奇怪的数列 特殊日期
  • python selenium chrome114版本之后环境配置和携带缓存打开chrome
  • ros2+gazebo建立机器人
  • leetcode 二数之和 三数之和 四数之和
  • SpringBoot 整合 ExcelEasy
  • zipimport.ZipImportError: can‘t decompress data; zlib not available
  • 安全算法(一):安全技术、加密的基础知识、哈希函数的简单介绍
  • 【QT 5 调试软件+Linux下调用脚本shell-经验总结+初步调试+基础样例】
  • C语言:判断大端小端
  • 以太网协议与DNS
  • 【基于Flask、MySQL和Echarts的热门游戏数据可视化平台设计与实现】
  • css系列之关于字体的事
  • Django 博客开发教程 16 - 统计文章阅读量
  • Facebook AccountKit 接入的坑点
  • iOS 系统授权开发
  • Javascript Math对象和Date对象常用方法详解
  • js中forEach回调同异步问题
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Python连接Oracle
  • React16时代,该用什么姿势写 React ?
  • Redux系列x:源码分析
  • Yii源码解读-服务定位器(Service Locator)
  • 百度地图API标注+时间轴组件
  • 大整数乘法-表格法
  • 分类模型——Logistics Regression
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 如何胜任知名企业的商业数据分析师?
  • 试着探索高并发下的系统架构面貌
  • 数组的操作
  • 小程序开发之路(一)
  • 赢得Docker挑战最佳实践
  • 在Docker Swarm上部署Apache Storm:第1部分
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 阿里云服务器如何修改远程端口?
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • #NOIP 2014# day.1 T2 联合权值
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • $NOIp2018$劝退记
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (安卓)跳转应用市场APP详情页的方式
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (四)库存超卖案例实战——优化redis分布式锁
  • (算法)求1到1亿间的质数或素数
  • (转)我也是一只IT小小鸟
  • ***利用Ms05002溢出找“肉鸡
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .bat批处理(九):替换带有等号=的字符串的子串