android客户端与c#服务器端的通信
来源:互联网 发布:mac os x系统ios镜像 编辑:程序博客网 时间:2024/05/01 10:54
C# Socket Server
1.建立C# SocketServer
1 private void ServerStart()
2 {
3 //创建IPEndPoint
4 IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1234);
5 //创建Socket实例
6 server_Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
7 //绑定Socket与IPEndPoint
8 server_Socket.Bind(ipep);
9 //设置Socket收听模式
10 server_Socket.Listen(10);
11
12 while (true)
13 {
14 try
15 {
16 //接受Andorid信息
17 client_Socket = server_Socket.Accept();
18 client_Thread = new Thread(new ThreadStart(ReceiveAndroidData));
19 client_Thread.Start();
20 }
21 catch (Exception ex)
22 {
23 MessageBox.Show("start error: " + ex.Message);
24 }
25
26 }
27 }
2 {
3 //创建IPEndPoint
4 IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1234);
5 //创建Socket实例
6 server_Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
7 //绑定Socket与IPEndPoint
8 server_Socket.Bind(ipep);
9 //设置Socket收听模式
10 server_Socket.Listen(10);
11
12 while (true)
13 {
14 try
15 {
16 //接受Andorid信息
17 client_Socket = server_Socket.Accept();
18 client_Thread = new Thread(new ThreadStart(ReceiveAndroidData));
19 client_Thread.Start();
20 }
21 catch (Exception ex)
22 {
23 MessageBox.Show("start error: " + ex.Message);
24 }
25
26 }
27 }
2.开启一个Theard,执行
1 server_Thread = new Thread(new ThreadStart(ServerStart));
2 server_Thread.Start();
2 server_Thread.Start();
3.介绍方法
private void ReceiveAndroidData()
{
bool keepalive = true;
Socket socketclient = client_Socket;
Byte[] buffer = new Byte[1024];
//根据收听到的客户端套接字向客户端发送信息
IPEndPoint clientep = (IPEndPoint)socketclient.RemoteEndPoint;
lstServer.Items.Add("Andorid Client:" + clientep.Address + ":"+clientep.Port);
string str = "connect server----- ";
byte[] data = new byte[1024];
data = Encoding.ASCII.GetBytes(str);
socketclient.Send(data, data.Length, SocketFlags.None);
while (keepalive)
{
//在套接字上接收客户端发送的信息
int buffer_lenght = 0;
try
{
buffer_lenght = socketclient.Available;
socketclient.Receive(buffer, 0, buffer_lenght, SocketFlags.None);
if (buffer_lenght == 0)
continue;
}
catch (Exception ex)
{
MessageBox.Show("receive error:" + ex.Message);
return;
}
clientep = (IPEndPoint)socketclient.RemoteEndPoint;
string strAndroid_CMD = System.Text.Encoding.ASCII.GetString(buffer).Substring(0, buffer_lenght);
//对根据strAndroid_CMD到数据库中查询值
{
bool keepalive = true;
Socket socketclient = client_Socket;
Byte[] buffer = new Byte[1024];
//根据收听到的客户端套接字向客户端发送信息
IPEndPoint clientep = (IPEndPoint)socketclient.RemoteEndPoint;
lstServer.Items.Add("Andorid Client:" + clientep.Address + ":"+clientep.Port);
string str = "connect server----- ";
byte[] data = new byte[1024];
data = Encoding.ASCII.GetBytes(str);
socketclient.Send(data, data.Length, SocketFlags.None);
while (keepalive)
{
//在套接字上接收客户端发送的信息
int buffer_lenght = 0;
try
{
buffer_lenght = socketclient.Available;
socketclient.Receive(buffer, 0, buffer_lenght, SocketFlags.None);
if (buffer_lenght == 0)
continue;
}
catch (Exception ex)
{
MessageBox.Show("receive error:" + ex.Message);
return;
}
clientep = (IPEndPoint)socketclient.RemoteEndPoint;
string strAndroid_CMD = System.Text.Encoding.ASCII.GetString(buffer).Substring(0, buffer_lenght);
//对根据strAndroid_CMD到数据库中查询值
Android Client:
1. OnCreate方法中执行
try {
Socket socket = new Socket("10.0.2.2", 1234);
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())), true);
out.println(cameraid);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Socket socket = new Socket("10.0.2.2", 1234);
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())), true);
out.println(cameraid);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
0 0
- android客户端与c#服务器端的通信
- C#服务器端与客户端的通信(服务器端)
- C#服务器端与客户端通信(客户端)
- 客户端与服务器端的通信
- 客户端与服务器端的通信
- PHP客户端与C#服务器端 Socket通信
- android 客户端 C#服务器端 socket 通信
- Android简单的客户端与服务器端通信小程序
- Android手机客户端与服务器端的信息通信交互
- android 客户端与web服务器端通信
- Android客户端与服务器端(struts2)通信
- Android 实现蓝牙客户端与服务器端通信
- android客户端与服务器端socket通信
- Android客户端与Web服务器端Http通信
- 客户端与服务器端通信
- js 客户端与服务器端的通信
- js 客户端与服务器端的通信
- python客户端与服务器端的通信
- 【Bug笔记】Unable to load configuration. - Class: java.net.AbstractPlainSocketImpl
- LeetCode Subsets
- error C2556: 'void __thiscall......overloaded function differs only by return type from 'int __thisc
- 解决ADB连不上设备的问题
- x&(x-1)的巧用:用于判断x是否为2的n次幂,计算二进制1的个数
- android客户端与c#服务器端的通信
- C# Winform中窗体的美化
- shell脚本常用命令
- 不同网络环境下个人电脑做网站的实现
- oracle 常用查询信息
- Android之dialog的四种形式
- 内存映射文件
- >/dev/null 2>&1
- mvn 备忘