简介
又发现在两个电脑拷贝上烦的一批(两台电脑要登陆两个微信或者qq)才能互相传文件和拷贝文件连接图片什么的。
云剪切板就事让你在两台电脑或者n台电脑上拷贝贴贴就和在本机和操作是一样的,无感操作,让你在n个电脑拷贝如鱼得水,不用在通过微信,QQ去进行数据传输。
目前是V2.0版本基本拷贝和通信功能全部实现,不会写代码的可能现在用着还不方便,中间还需要一个服务器才能进行通信,后续会迭代更新,做到在局域网的无感操作,外网暂时不考虑做,需要的小伙伴可以自己在源代码的基础上进行修改。
技术介绍
- java语言
- 通信netty
- maven
- netty重连,心跳里面都有
- 一共有三个项目分别是:服务端,客户端,协议
- 服务端的主要是做了一个中转站,方便客户端与客户端之间通信,进行数据传输。
- 客户端对本机剪切板监听,接收别的客户端数据,对剪切板操作。
- 协议是用来规范客户端和服务端传输数据用的
- 目前是写死的广播信号,在同一信号可以相互拷贝
- 必须在同一广播信号才能进行拷贝
- 代码就贴出来给大家看了,需要源码的可以去github上下载
# 项目介绍
1. 项目结构
第一个项目客户端
第二个协议
第三个服务端
2. 客户端介绍
img托盘图标
page页面
shear剪切板相关操作
socket 通信这一块
utils工具类
Start是启动入口
```java
//启动入口代码
public class Start
{
public static ClientInfo clientInfo;
private static final String IP = "192.168.1.75";
private static final int PORT = 8080;
public static final String VERSION = "2.0";
private static void start()
{
//面板启动
SwingUtilities.invokeLater(() -> new Panel().createGUI());
//客户端连接启动
clientInfo = new ClientInfo(IP, PORT);
clientInfo.start();
//监听剪切板
new MonitorChangesInClipboardContent(textMsg ->
{
BroadcastText broadcastText = new BroadcastText();
try
{
broadcastText.setText(URLEncoder.encode(textMsg, "UTF-8"));
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
clientInfo.send(broadcastText);
}, fileList ->
{
List
for (File file : fileList)
{
try
{
MyFileUtils.getFiles(file, fileInfos, null);
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
}
BroadcastFile broadcastFile = new BroadcastFile();
broadcastFile.setFileUploadEntities(fileInfos);
try
{
broadcastFile.setFilePaths(URLEncoder.encode(MonitorChangesInClipboardContent.filePaths,"UTF-8"));
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
broadcastFile.setFileSize(MonitorChangesInClipboardContent.fileSize);
clientInfo.send(broadcastFile);
});
}
public static void main(String[] args)
{
start();
}
```
服务端启动成功
客户端出现连接成功即可
与服务端连接成功
启动过程和连接基本上就这样了,下面给大家看看程序跑起来的效果图
效果图
启动后的托盘程序,在苹果电脑在上面,window在右下角
这是没用选择广播信号的效果图
菜单
广播信号切换成功
查看信号通道
window的也是一样就不贴太多图片了
拷贝文件的话默认在桌面有个临时文件夹,因为在mac上做不到文件设置到剪切板,目前还没有找到解决方案,只能采取这种比较陋的方式了
操作流程
操作流程给大家介绍一下
1. 启动服务端:看到**启动成功**的字样,就ok
2. 启动服务端:看到**启动成功与连接成功的**字样,OK
3. 默认是没用广播信号的,要选择一个广播信号,mac电脑鼠标左键window鼠标右键出来菜单。就是1-10还要打开和关闭的菜单,在1-10选择一个信号,看到提示框提示切换成功就ok了,第二个活第n个客户端也是一样操作,如果想确认一下信号是否切换成功,可以选择菜单的打开可以看到。(注意:两个客户端必须在相同的信号才能进行通信复制)
4. 复制文本可以做到无感操作,和本机上是一样 ctrl+c 在 别的电脑ctrl +v可以贴出来。
5. 复制文件,图片,文件夹,文件图片文件夹组合,可以在本机ctrl+c 在别的电脑桌面会出来一个云拷贝的文件夹。里面就是你拷贝的内容。目前做不到无感。
6. 文件设置了100MB,不能大于这个值。
7. 如果觉得对你有帮助请给个好评,接下来会持续更新的
原文地址
原文地址