C#客户端与Android服务端的Socket通信

1、Android服务端:

 
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
public class G3Exp extends Activity{
    /** Called when the activity is first created. */
    //定义侦听端口号
    final int SERVER_PORT = 10086;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //开一个新的线程来侦听客户端连接及发来的信息和打开相应网站
        new Thread(){
                   public void run(){
                           startServer();
                   }
                  }.start();
    }
    private void startServer()
    {
            try
            {
                    ServerSocket serverSocket = new ServerSocket(SERVER_PORT);
                //循环侦听客户端连接请求
                while (true)
                {
                            Socket client = serverSocket.accept();
                            try
                            {
                                //等待客户端发送打开网站的消息
                                    BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
                                    String str = in.readLine();
                                    openUrl(str);
                            }
                            catch (Exception e)
                            {
                                    e.printStackTrace();
                            }
                            finally
                            {
                                    client.close();
                            }
                    Thread.sleep(3000);
                }
            }
            catch (Exception e)
            {
                    e.printStackTrace();
            }
    }
    private void openUrl(String url)
    {
            Uri uri = Uri.parse(url);
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
            startActivity(intent);
    }
}

2、C#客户端:

 
using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Sockets;
using System.Diagnostics;
namespace G3Exp.Class
{
    public static class clsAndroid
    {
        static private void Connect(String server, String message)
        {
            try
            {
                //通过SDK下面的ADB命令来通知Android开侦听10086端口
                Process p = new Process();
                p.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory+@"\tools\adb.exe";
                p.StartInfo.Arguments = "forward tcp:12580 tcp:10086";
                p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                p.Start();
                Int32 port = 12580;
         TcpClient client = new TcpClient(server, port);
                //把URL发给TCP服务端
                Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);
                NetworkStream stream = client.GetStream();
                stream.Write(data, 0, data.Length);
                client.Close();
            }
            catch (ArgumentNullException e)
            {
                Console.WriteLine("ArgumentNullException: {0}", e);
            }
            catch (SocketException e)
            {
                Console.WriteLine("SocketException: {0}", e);
            }
        }
        public static void OpenWeb(string strUrl)
        {
            Connect("127.0.0.1", strUrl);
        }
    }
}

转载于:https://www.cnblogs.com/jiaocheng/p/4770911.html

各模块功能说明: 1.系统管理: ⑴ 管理用户:包括用户的添加、修改、删除,退出 ⑵ 修改密码:包括旧密码、新密码及新密码的确认 ⑶ 注销用户:退回到登陆模式 ⑷ 退出系统:退出 2.基本信息: ⑴ 零件基本信息:包括的功能有零件的添加、修改、删除、查询 ⑵ 汽车基本信息:包括的功能有汽车的添加、修改、删除、查询 ⑶ 修理工基本信息:包括的功能有修理工的添加、修改、删除、查询 3.表单操作: ⑴ 修车登记单:包括的功能有修车登记的添加、修改、删除、查询 ⑵ 汽车修理单:包括的功能有汽车修理的添加、修改、删除、查询 ⑶ 零件入库单:包括的功能有零件入库的添加、修改、删除、查询 ⑷ 零件领用单:包括的功能有零件领用的添加、修改、删除、查询 ⑸ 修车发票:包括的功能有修车发票的添加、修改、删除、查询 4.帐册操作 ⑴ 汽车登记册:包括的功能有汽车的添加、修改、删除、查询 ⑵ 修理工名册:包括的功能有修理工的添加、修改、删除、查询 ⑶ 汽车修理台账:自动汽车修理生成台账,有打印和查询的功能 ⑷ 库存零件台账:自动库存零件生成台账,可以更新和查询 5.报表操作 ⑴ 零件耗用月报表:自动生成,有打印和查询功能 ⑵ 员工工资月报表:自动生成,有打印和查询功能 ⑶ 零件定货计划表:自动生成,有打印和查询功能 6.帮助 ⑴ 帮助文档:用户操作手册 ⑵ 关于该系统:版本说明
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值