最近做了个小项目,用到了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();
}
}
}

更多相关文章

  1. AIDL的实现
  2. android多媒体框架之流媒体框架----base on jellybean(九)
  3. MQTT+ApolloServer实现Android的消息推送功能
  4. Android中Intent,service,broadcast应用浅析
  5. Android(安卓)TextView中文字通过SpannableString来设置超链接、
  6. Android(安卓)面试题(5):谈谈 Handler 机制和原理?
  7. Android(安卓)开发技巧之Log发送UDP报文,Socket编程
  8. Android通过Intent.ACTION_CLOSE_SYSTEM_DIALOGS监听Home按键消
  9. Android(安卓)Debug Bridge(ADB) 技术实现(译)

随机推荐

  1. 手机的软件形态
  2. Android实现长按录音松开保存、播放及根
  3. Android中的各种单位
  4. Android(安卓)是Google开发的基于Linux平
  5. 将Eclipse的工程转移到Android(安卓)Stud
  6. Android(安卓)推送实现原理解析
  7. Android(安卓)ROM开发(一)——Windows下Cyg
  8. Android基础_页面布局_RelativeLayout(相
  9. Android布局优化之Merge Include ViewStu
  10. android的发展