- 浏览: 396437 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
surpassno:
南冠楚囚 写道如果是复制一个一位数组,那么改变复制后的数组并不 ...
java的system.arraycopy()方法 -
南冠楚囚:
如果是复制一个一位数组,那么改变复制后的数组并不影响原数组。你 ...
java的system.arraycopy()方法 -
wxq5513866:
有密码,大家不要下载了,下载也解压不了,别上当了
android中调用webservice -
wxq5513866:
happyhan 写道还要密码啊 能否告知密码
android中调用webservice -
happyhan:
还要密码啊 能否告知密码
android中调用webservice
最近做了个小项目,用到了wifi连接,通过wifi去控制一个wifi设备。通常是使用ad-hoc,但是目前android还不支持,只能通过补丁软件支持。所有采用了局域网控制的方式。
其中还涉及到socket编程。短信接口调用。
写这个日子的原因仅限于收藏。由于保密协议代码无法共享,请谅解。
附带:
两个服务端测试程序,c#和java的
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server extends Thread
{
private Server() throws IOException {
CreateSocket();
//创建Socket服务器
}
public void run() {
Socket client;
String txt;
try {
while (true)
//线程无限循环,实时监听socket端口
{
client=ResponseSocket();
//响应客户端链接请求。。
while(true)
{
txt=ReceiveMsg(client);
System.out.println(txt);
//链接获得客户端发来消息,并将其显示在Server端的屏幕上
SendMsg(client,":FRVC06");
//向客户端返回消息
}
}
}
catch (IOException e) {
System.out.println(e);
}
}
private ServerSocket server = null;
private static final int PORT = 8888;
private BufferedWriter writer;
private BufferedReader reader;
private void CreateSocket() throws IOException
{
server = new ServerSocket(PORT, 100);
System.out.println("Server starting..");
}
private Socket ResponseSocket() throws IOException
{
Socket client = server.accept();
System.out.println("client connected..");
return client;
}
private void CloseSocket(Socket socket) throws IOException
{
reader.close();
writer.close();
socket.close();
System.out.println("client closed..");
}
private void SendMsg(Socket socket,String Msg) throws IOException
{
writer = new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream()));
writer.write(Msg+"\n");
writer.flush();
}
private String ReceiveMsg(Socket socket) throws IOException
{
reader = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
System.out.println("server get input from client socket..");
String txt="Sever send:"+reader.readLine();
return txt;
}
public static void main(final String args[]) throws IOException {
Server yaochatserver = new Server();
if (yaochatserver != null) {
yaochatserver.start();
}
}
}
vs2008版本
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.IO;
using System.Net;
namespace ConsoleApplication1
{
class Program
{
public System.Net.Sockets.TcpListener listener;
static void Main(string[] args)
{
Program p = new Program();
p.StartServer();
}
public void StartServer()
{
System.Text.Encoding enc = System.Text.Encoding.ASCII;
string host = System.Net.Dns.GetHostName();
int port = 2000;
IPAddress ip = new IPAddress(new byte[] { 172, 22, 13, 205 });
listener = new TcpListener(ip, 8888);
try
{
listener.Start();
}
catch
{
return;
}
System.Net.Sockets.TcpClient tcp = listener.AcceptTcpClient();
System.Net.Sockets.NetworkStream ns = tcp.GetStream();
System.IO.MemoryStream ms = new System.IO.MemoryStream();
while (true)
{
Console.WriteLine("starting......");
byte[] resBytes = new byte[1024];
ns.Read(resBytes, 0, resBytes.Length);
string receiveStr = System.Text.Encoding.ASCII.GetString(resBytes).TrimEnd('\0');
int receiveLength = receiveStr.Length;//接受数据长度
Console.WriteLine("######" + receiveStr + "%%%%" + receiveLength);
}
}
public void StopServer()
{
listener.Stop();
}
}
}
其中还涉及到socket编程。短信接口调用。
写这个日子的原因仅限于收藏。由于保密协议代码无法共享,请谅解。
附带:
两个服务端测试程序,c#和java的
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server extends Thread
{
private Server() throws IOException {
CreateSocket();
//创建Socket服务器
}
public void run() {
Socket client;
String txt;
try {
while (true)
//线程无限循环,实时监听socket端口
{
client=ResponseSocket();
//响应客户端链接请求。。
while(true)
{
txt=ReceiveMsg(client);
System.out.println(txt);
//链接获得客户端发来消息,并将其显示在Server端的屏幕上
SendMsg(client,":FRVC06");
//向客户端返回消息
}
}
}
catch (IOException e) {
System.out.println(e);
}
}
private ServerSocket server = null;
private static final int PORT = 8888;
private BufferedWriter writer;
private BufferedReader reader;
private void CreateSocket() throws IOException
{
server = new ServerSocket(PORT, 100);
System.out.println("Server starting..");
}
private Socket ResponseSocket() throws IOException
{
Socket client = server.accept();
System.out.println("client connected..");
return client;
}
private void CloseSocket(Socket socket) throws IOException
{
reader.close();
writer.close();
socket.close();
System.out.println("client closed..");
}
private void SendMsg(Socket socket,String Msg) throws IOException
{
writer = new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream()));
writer.write(Msg+"\n");
writer.flush();
}
private String ReceiveMsg(Socket socket) throws IOException
{
reader = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
System.out.println("server get input from client socket..");
String txt="Sever send:"+reader.readLine();
return txt;
}
public static void main(final String args[]) throws IOException {
Server yaochatserver = new Server();
if (yaochatserver != null) {
yaochatserver.start();
}
}
}
vs2008版本
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.IO;
using System.Net;
namespace ConsoleApplication1
{
class Program
{
public System.Net.Sockets.TcpListener listener;
static void Main(string[] args)
{
Program p = new Program();
p.StartServer();
}
public void StartServer()
{
System.Text.Encoding enc = System.Text.Encoding.ASCII;
string host = System.Net.Dns.GetHostName();
int port = 2000;
IPAddress ip = new IPAddress(new byte[] { 172, 22, 13, 205 });
listener = new TcpListener(ip, 8888);
try
{
listener.Start();
}
catch
{
return;
}
System.Net.Sockets.TcpClient tcp = listener.AcceptTcpClient();
System.Net.Sockets.NetworkStream ns = tcp.GetStream();
System.IO.MemoryStream ms = new System.IO.MemoryStream();
while (true)
{
Console.WriteLine("starting......");
byte[] resBytes = new byte[1024];
ns.Read(resBytes, 0, resBytes.Length);
string receiveStr = System.Text.Encoding.ASCII.GetString(resBytes).TrimEnd('\0');
int receiveLength = receiveStr.Length;//接受数据长度
Console.WriteLine("######" + receiveStr + "%%%%" + receiveLength);
}
}
public void StopServer()
{
listener.Stop();
}
}
}
- Kystar.rar (872.3 KB)
- 下载次数: 26
发表评论
-
android中调用webservice
2011-12-05 14:40 8241上篇文章发布的webservice ... -
android读写文件
2011-11-22 09:24 1409android中读写文件分两部分。 1.手机flash读写 ... -
android adt myeclipse8.5离线安装
2011-11-14 15:51 5392Myeclipse 8.6 离线安装ADT 最近想在Myec ... -
android网络与通信
2011-03-31 10:52 1605三种网络接口简述 标准Java接口 java.net.*提 ... -
android多媒体
2011-03-31 09:47 1607OpenCore的另外一个 ... -
数据存储 shared preference
2011-03-30 20:32 1678Android中一共提供了四种数据存储方式: Shared P ... -
双缓冲技术
2011-03-30 19:30 1761java双缓冲技术是 ... -
Android的view重绘
2011-03-30 15:18 4724android中实现view的更新有两组方法,一组是inval ... -
Android中采用的MVC框架
2011-03-30 15:02 1901MVC是当前比较流行的框 ... -
Android单线程模型
2011-03-29 21:32 2997当第一次启动一个Android程序时,Android会自动创建 ... -
TabWidget
2011-03-26 10:03 1427Android TabWidget/TabHost有两种使用方 ... -
状态栏提示Notification
2011-03-26 09:33 1483当有未接电话或者短信时,在手机顶部状态栏就会出现一个小图标,提 ... -
Gallery 拖动效果
2011-03-26 09:01 1220public class Activity01 exten ... -
Android Contentresolver的使用
2011-03-24 16:44 2104Android提供了ContentProvider,一个程序可 ... -
Android ContentProvider
2011-03-24 11:21 2295内容提供者(content provi ... -
Android SQLite
2011-03-24 10:36 2098SQLite 是一款非常流行的 ... -
android map的使用方法
2011-03-23 16:06 60601 Android Add-ons是Android中的可 ... -
android sdk的快速安装法
2011-03-23 14:53 20471.下载相关文件 下面的7个文件(当然,可以只下载其中一个) ... -
android的位置服务和地图
2011-03-22 19:21 1504实现位置服务的技术有GPS和google网络地图,将这些不同的 ... -
android 使用DOM解析xml
2011-03-22 16:52 1445美国地震信息网http://earthquake.usgs.g ...
相关推荐
在Android平台上,Wi-Fi开发是一项重要的技术,它允许设备通过无线局域网(WLAN)进行通信,实现数据的高速传输。本示例主要涵盖了Wi-Fi的搜索、连接以及数据传输这三个关键环节,这对于构建涉及网络通信的Android...
在Android平台上进行WiFi开发是一项常见的任务,特别是在构建与网络通信相关的应用程序时。"android wifi开发简单demo"这个项目提供了一个基础示例,帮助开发者理解如何在Android设备上管理和使用WiFi功能。下面我们...
### Android WIFI开发详解 #### 一、Android WIFI模块概述 Android系统中对于WIFI功能的支持主要依赖于一系列组件和服务的协同工作。从架构上看,这些组件和服务可以大致分为以下几个层次: 1. **应用层**: 包含...
### Android WiFi开发流程与关键点分析 #### 一、WiFi基本工作原理与Android WiFi基本架构 **1.1 WiFi运作原理** WiFi的工作机制基于一种叫做Access Point (AP) 的中心节点,以及一个或多个客户端(client)之间...
Android平台上的WiFi开发是移动应用开发中的一个重要方面,它允许应用与设备的WiFi硬件交互,实现网络连接、扫描、配置等功能。本知识点介绍将基于给定文件内容,深入解析Android中的WiFi开发关键概念和技术细节。 ...
Android WIFI开发流程概述 Android WIFI开发流程概述是指在Android系统中实现WIFI网络连接和数据传输的步骤和方法。通过了解Android WIFI开发流程,可以帮助开发者更好地理解Android系统中的WIFI功能,并开发出更加...
在Android平台上进行WiFi开发是一项重要的任务,因为它涉及到设备与网络的连接,对于移动应用来说,数据传输和实时通信是至关重要的。本资料“android_wifi.rar”聚焦于Android系统的WiFi开发,旨在提供深入的理解和...
在Android平台上进行WiFi开发涉及多个步骤,包括权限配置、服务获取、扫描监听、网络连接以及IP地址查询等。以下是对这些关键知识点的详细说明: **1. 权限配置** 在AndroidManifest.xml文件中,必须添加必要的权限...
在Android平台上进行WiFi开发,主要涉及四个核心类:`ScanResult`、`wifiConfiguration`、`WifiInfo`和`WifiManager`。这些类为开发者提供了管理和操作WiFi连接所需的功能。 首先,`ScanResult`类主要用于获取周围...
android wifi 连接Demo.rar
在Android系统中,WiFi模块是实现无线网络连接的关键部分,对于开发者来说,理解和掌握如何进行Android WiFi开发至关重要。本文将深入探讨Android WiFi的模块程序、初始化过程、连接AP的步骤,以及WiFi SLAM...
系统自带的wifi功能基本上都涵盖了,包括Wifi开关、热点扫描、信号强度显示、加密方式显示、点击热点条目输入密码进行连接、不保存密码、密码错误的情况下会提示验证错误等功能。由于这类demo网上资源相对来说比较少...
在Android平台上进行WIFI开发是一项重要的任务,它涉及到设备如何连接到无线网络,获取网络信息,以及进行网络扫描。下面将详细阐述Android WIFI开发的相关知识点。 1. **Android权限管理**: 开发Android应用涉及...
在Android平台上进行应用程序开发时,访问和控制Wi-Fi网络是一项重要的功能。本教程将深入讲解如何利用Android SDK提供的API来实现Wi-Fi相关的功能。我们将会关注四大关键类:`WifiManager`、`WifiInfo`、`...