我想用socket来实现一个局域网的多人画板,服务端和客户端我都放在手机上,画板实现了画图,插入文字和插入图片功能。
我的想法是一台手机打开热点,然后点击按钮创建服务器,其他手机连上热点后输入主机的IP点击按钮连接,现在问题是我不知道数据该怎么传,paint path类型数据能直接传输吗?
目前看到的博客帖子全是string类型,我不知道我的这种该怎么做
初始界面
这是我DrawView里定义部分
public class DrawView extends View{
static class DrawPath{
public Path path;//路径
public Paint paint;//画笔
public String mText;
public float mOffX;//X轴偏移
public float mOffY;//Y轴偏移
}
实在是头疼,服务端 客户端的连接没问题,数据完全不知道该怎么下手。
用蓝牙的方案可以实现 约定好协议
也可以从局域网建立socket方向寻找解决方案
取点再还原这种估计不行,需要的点太多了,你可以试着看下能不能把它当作图片上传.再图片还原到局域网各个人的画板上,不过感觉这样也好难
基础变量可以使用json拼接,至于Paint以及Path可以将内部的关键变量同样转成json传过去。比如Paint里头的颜色,线宽之类的使用socket传过去,然后再另一端包装成paint。