博客已迁到“金陵小周的技术博客”,博客园不在更新发表......

基于GTK+3 开发远程控制管理软件(C语言实现)系列 一 开篇

 

近期趁公司没项目来,想学习一下C和GTK+3 ,顺道再学习一下Linux下有关网络编程方面的知识。

一、学习知识:

1、C基本语法

2、GTK+3 API学习 GUI相关知识学习

3、Glade使用及事件绑定,以及配合GTK+3 开发GUI界面。

4、Linux下Socket编程

5、Windows下基于MSYS2进行开发GTK的GUI界面。

二、终极目标:

最终程序实现的功能如下:

1、实现远程显示客户端屏幕功能。

2、实现鼠标坐标的远程控制功能。

3、实现双方客户端,进行文字聊天的基本功能。

4、实现双方客户端,文件传输功能。

三、实现思路(解决方案):

 

1、客户端A 登录Server,将信息给Server。

2、Sever当前好友列表,反馈给客户端A

3、客户端A发出(远程控制,文字或者文件传输)请求和数据发给Sever。

4、Sever接到请求后,转交给被收端客户端B。

5、客户端B收到请求后,确认接收。

6、Sever将数据传送给你客户端B

 

选择此解决方案的理由:

家里的宽带和老家家里的宽带,上网方式都是通过ADSL+无线路由器的方式,而且由于IP4的地址资源短缺,网络商给分配的IP也都是内部网络的IP,所以目前就用服务器中转的方案来实现远程控制,双方客户端不需要知道彼此的IP地址,以及是在外网还是在内网,所有数据都到服务器上做中转。

此方案特点:技术实现起来简单,缺点就是服务器的通信压力大,效率不高。

其他技术方案解决方案:

P2P内网穿透

NAT穿透

这几个技术方案,本人没有研究过,不知道在技术实现上难度大不大,所以等研究明白了,再改用这几个技术方案。

四、系列目录

 基于GTK+3 开发远程控制管理软件(C语言实现)系列 一 开篇

 基于GTK+3 开发远程控制管理软件(C语言实现)系列二 Centos7下开发环境搭建

 

 

五、本系列定期更新,直到软件完成,同时会将代码开源到 码云 

 

码云地址

 

Git下载地址 

https://gitee.com/pete_jones/RemoteControl.git

 

本人也是C菜鸟一枚,如有问题咱们共同探讨,欢迎发Email给我 pete_jones@163.com

posted @ 2017-08-08 16:58  Pete-Jones  阅读(1318)  评论(0编辑  收藏  举报

博客已迁到“金陵小周的技术博客”,博客园不在更新发表......