软件、硬件定制开发,联系QQ:99605319

本文由 资源共享网 – ziyuan 发布,转载请注明出处,如有问题请联系我们!桌面监控系统全套源码(PC服务端+PC客户端+安卓客户端)附成品

应用领域: 跨平台
开发语言: C#
数据库 : 其它
资源语言: 中文

资源包括

1、PC服务端源码(C#)

2、PC客户端源码(C#)

3、安卓客户端源码(java原生开发)

4、PC服务端成品(exe)

5、PC客户端成品(exe)

6、安卓客户端成品(apk)


支持:PC监控PC桌面,PC监控安卓屏幕,安卓监控PC桌面,安卓监控安卓屏幕


实现原理和代码逻辑:

一.服务端实现

  服务端主要用来转发数据(被监控的屏幕图像的编码数据),并不涉及其它复杂的业务逻辑。

       这个实现起来很简单,只需要几句代码就OK,它主要做的就是将客户端的消息的处理与数据的转发。这里不做过多的介绍,其关键核心代码只有一句,就是创建OMCS多媒体服务器实例。 

  Program.MultimediaServer = MultimediaServerFactory.CreateMultimediaServer(9900, userVerifier, config, bool.Parse(ConfigurationManager.AppSettings["SecurityLogEnabled"]));

  第一个参数是提供服务的TCP端口,第二个参数用于验证登录的用户帐号密码。


二.PC客户端实现

  客户端中我们也分为了2种身份:控制端、被控端

  我们在登录时,我们需要初始化多媒体管理器 来连接服务端进行通信,其实也很简单,我们也只需要调用一句话就OK。 

  multimediaManager.Initialize(loginForm.CurrentUserID, "", ConfigurationManager.AppSettings["ServerIP"], int.Parse(ConfigurationManager.AppSettings["ServerPort"])); 

1.PC控制端:主要包括远程观看对方的桌面、监听对方的麦克风 2个功能 

  实现中主要是用到了DesktopConnector这个自定义控件,我们也只需简单的调用一个BeginConnect 方法就可以直接连接到对方桌面。将控件还提供了2个事件 ConnectEnded、Disconnected 来知道当前连接的结果和状态 

     public DesktopForm(string friendID,bool audioEnabled)

        {

            InitializeComponent();

            

            this.ownerID = friendID;

            this.Text = string.Format("正在访问{0}的桌面", this.ownerID);          

            this.desktopConnector1.ConnectEnded += new CbGeneric<ConnectResult>(desktopConnector1_ConnectEnded);

            this.desktopConnector1.Disconnected += DesktopConnector1_Disconnected;

            this.desktopConnector1.BeginConnect(this.ownerID);

            if (audioEnabled)

            {

                this.microphoneConnector1.BeginConnect(this.ownerID);

            }

        }


        private void DesktopConnector1_Disconnected(ConnectorDisconnectedType type)

        {

            if (this.InvokeRequired)

            {

                this.BeginInvoke(new CbGeneric<ConnectorDisconnectedType>(this.DesktopConnector1_Disconnected), type);

            }

            else

            {

                if (type == ConnectorDisconnectedType.OwnerActiveDisconnect || type == ConnectorDisconnectedType.GuestActiveDisconnect)

                {

                    return;

                }

                MessageBox.Show("断开连接!原因:" + type);

                this.Close();

            }

        }



        void desktopConnector1_ConnectEnded(ConnectResult result)

        {

            if (this.InvokeRequired)

            {

                this.BeginInvoke(new CbGeneric<ConnectResult>(this.desktopConnector1_ConnectEnded), result);

            }

            else

            {

                if (result != ConnectResult.Succeed)

                {

                    MessageBox.Show("连接失败!" + result.ToString());

                }    

            }

        }


2.PC被控端:显示正在被哪些用户观看

   


三.安卓端实现

    安卓客户端就与PC客户端的实现原理差不多了,只是其中一些细节不一样而已

    安卓端同样也是分为2种身份:监控端、被控端

    同PC客户端一样我们也要初始化多媒体管理器 来连接服务端进行通信 


LogonResponse omcsResp = MultimediaManagerFactory.GetSingleton().initialize(id, password, ipaddStr, 9900, getApplication());//登录OMCS服务器

1.安卓控制端:功能同PC一样,可观看目标用户的屏幕和监听麦克风


   这里我们用到了一个自定义组件 DesktopSurfaceView 用来显示对方桌面的图像 ,我们通过桌面连接器 DesktopConnector 去连接对方的桌面将获取的桌面图像数据用于该组件来显示

     //显示对方数据view  

       DesktopSurfaceView otherView = (DesktopSurfaceView) findViewById(R.id.Desk_surface_remote);

        desktopConnector.setOtherVideoPlayerSurfaceView(otherView);

        desktopConnector.setConnectorEventListener(new IConnectorEventListener() {

            @Override

            public void connectEnded(ConnectResult connectResult) {

                if( connectResult!= ConnectResult.Succeed){

                    Message msg = Message.obtain(); // 实例化消息对象

                    msg.what = 1; // 消息标识

                    msg.obj = "远程桌面连接失败:" + connectResult.toString(); // 消息内容存放

                    myHandler.sendMessage(msg);

                }

            }

            @Override

            public void disconnected(ConnectorDisconnectedType connectorDisconnectedType) {

                if(connectorDisconnectedType==ConnectorDisconnectedType.OwnerActiveDisconnect||connectorDisconnectedType==ConnectorDisconnectedType.GuestActiveDisconnect)

                {

                    return;

                }

                Message msg = Message.obtain(); // 实例化消息对象

                msg.what = 2; // 消息标识

                msg.obj = "远程桌面连接断开:" + connectorDisconnectedType.toString();// 消息内容存放

                myHandler.sendMessage(msg);

            }

        });


        desktopConnector.beginConnect(targetUid);



2.安卓被控端:需要采集本手机的桌面图像、麦克风声音发送给控制方

   核心点在采集本手机的整个桌面的图像,这一点在OMCS框架中已经为我们处理好了,我们只是需要设置一下相关权限来允许录制屏幕即可,剩下的事情都可以交给omcs内部去处理了。 

    MultimediaManagerFactory.GetSingleton().setDesktopRecordActivity(this);//this 为当前Activity

    @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        super.onActivityResult(requestCode, resultCode, data);

        MultimediaManagerFactory.GetSingleton().setDesktopRecordActivityResult(requestCode, resultCode, data);//设置授权结果给多媒体管理器


    }

  当控制方请求观看安卓的桌面时,被控端会弹出如下权限申请提示,点击“立即开始”对方就可以开始采集屏幕并将数据发送给 控制方用于显示。(若勾选了始终允许分享屏幕 的选项,之后控制端请求访问该被控端时就不会再次弹出权限的对话框了,可直接看得到该屏幕)


搜狗高速浏览器截图20231207085935.png


实用工具资源(桌面监控系统全套源码(PC服务端+PC客户端+安卓客户端)附成品)网址:https://www.08i8.com/ttkfzy/detail84085.html;转载请注明!


提示:
1、资源共享网(www.08i8.com)实用工具C#源码《桌面监控系统全套源码(PC服务端+PC客户端+安卓客户端)附成品》仅供研究学习请勿商用!
2、如果发现本资源违法或侵权请【报告管理员】
3、您所看到的所有资源都是网友分享,资源共享网(www.08i8.com)无法保证都能正常下载使用,
4、如果您发现资源无法下载或无法使用请【报告管理员】,管理员会联系资源发布者补充新资源!
5、如果暂时无法补充新资源,【只退积分!不退款!
6、关注微信公众号:《国资互联联盟》 不迷路!

与《桌面监控系统全套源码(PC服务端+PC客户端+安卓客户端)附成品》相关的《完整源码》


  • 远程桌面软件源码(c++)+可自建中继服务器源码(php+sqllite)

    远程桌面软件源码(c++)+可自建中继服务器源码(php+sqllite)

    不用担心安全问题。您可以自建中继服务器(有源码)可以打包成Linux、macOS、windwos资源包括:1、远程桌面软件客户端成品(windows)2、远程桌面软件客户端源码(c++)3、继服务器api源码(php)4、远程桌面软件客户端开发依赖├─Linux│ libsciter-gtk.so│ ├─macOS│ libsciter.dylib│ └─w...

    5 31749  0

  • 桌面图床工具源码(Electron-Vue)

    桌面图床工具源码(Electron-Vue)

    本站还包含:1、Ubuntu系统的snap版本2、linux系统的AppImage版本3、MAC苹果系统的dmg版本(arm64位和x64位)4、windows系统的exe版本(32位和64位)5、桌面图床工具源码(Electron-Vue)6、安卓图床工具7、安卓图床工具源码PicList是一款云存储/图床平台管理和文件上传工具,基于PicGo的进行了深度二次开发,保留了PicGo的所有功能的同...

    10 56533  0

  • 08i8视频图片资源下载工具源码(TypeScript源码)可打包成mac桌面安装程序和windows桌面安装程序

    08i8视频图片资源下载工具源码(TypeScript源码)可打包成mac桌面安装程序和windows桌面安装程序

    支持获取视频号、抖音、快手、小红书、酷狗音乐、qq音乐等网络资源!基于electron-vite-vue操作简单、可获取不同类型的资源支持获取视频、音频、图片、m3u8,附使用教程及常见问题解决方案yarn installyarn run dev打包macyarn run build --mac打包winyarn run build --win

    30 10866  0


  • QT+HJ212污染物在线监控(监测)系统全套资源(源码、标准、成品、支持2005、2017协议)

    QT+HJ212污染物在线监控(监测)系统全套资源(源码、标准、成品、支持2005、2017协议)

    资源包括一、C++源码1、HJ212ClientAndServer源码2、HJ212ClientAndServerSerialPort源码二、标准1、HJ212-2017污染物环境监控系统数据传输新标准2、HJT212-2005 污染源在线自动监控(监测)系统数据传输标准.pdf_897461三、成品1、HJ212ClientAndServer.exe2、HJ212ClientAndServerS...

    5 49987  0

  • Android监控转发器app源码(短信、电话、APP通知)kotlin

    Android监控转发器app源码(短信、电话、APP通知)kotlin

    注:kotlin开发主要功能有:短信转发、电话转发、APP通知转发监控Android手机短信、来电、APP通知,并根据指定规则转发到其他手机:钉钉机器人、企业微信群机器人、飞书机器人、企业微信应用消息、邮箱、bark、webhook、Telegram机器人、Server酱、PushPlus、手机短信等用Android Studio 编辑需要安装 Lombok插件

    500 47475  0


  • 手机定位app源码(安卓源码+PHP服务端源码)附成本和教程

    手机定位app源码(安卓源码+PHP服务端源码)附成本和教程

    如果不想研究源码,只想体验的可以只下app注:1、前端(app)源码为autojs开发,有成本apk2、后台为php+mysql开发(目前只实现了基本的功能)3、资源包含前端(app)源码、服务端php源码、adb工具、APKTool打包工具、autojs工具4、不是所有的手机都能定位功能:1、GPS定位2、地图查看轨迹和驻留时间使用方法:1、在安卓的机上安装”成品location.apk“2、打...

    50 58784  0

  • 自动多语言插件服务端管理端源码(java)

    自动多语言插件服务端管理端源码(java)

    发布了一个支持113种语言的自动多语言插件,插件调用的是第三方的api实现的,为了稳定安全可以自建api服务资源为自动多语言插件对应的全套服务端源码,java开发不想自建服务端的下载这个教程:https://www.08i8.com/ttqdzy/detail18446.html

    20 37014  0

  • 内网穿透服务端和客户端go源码

    内网穿透服务端和客户端go源码

    frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:* 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。* 采用 TCP ...

    10 67176  0

  • ziyuan
    ziyuan Rank: 16

    0

    0

    0

    ( 此人很懒并没有留下什么~~ )
    img

    桌面监控系统全套源码(PC服务端+PC客户端+安卓客户端)附成品

    下载积分 钻石会员
    20 免费
    请您 登录后 下载 !
    说明

    您下载所消耗的积分将转交上传作者。上传资源,免费获取积分!


    首页

    栏目

    搜索

    会员