|

分享源码
界面截图: |
|
是否带模块: |
纯源码 |
备注说明: |
- |
自己在网上找了很久都没有相关的信息,无耐要实现android与易语言写的远程服务器通信,差点就放弃了,准备用webserver了 ,但这样服务器要重写,太要命了!
最终终于找到一个分析易语言远程协yi的帖子(非常感谢该帖提供的思路 ),但只有易语言版本的帖子地址找不到了大家可以在论坛找找
根据他的思路和分析写出的java类,只需调用JAVA类将需要发送的数据添加一个头就可以了 ,测试很多次完全没问题哦,但没有测试大数据包,各位可以试试J
AVA调用方式:char [] Datebuf=ehead.addhead(mesg.toCharArray());(这里很简单我就不贴出全部全代码了 )
**************下面是添加数据头JAVA类的源码(已上传附件,新手作品大神勿喷 )***********************
package net.testSocket;
public class ehead {
//添加易语言支持的远程服务器包头
public static char[] addhead(char[] message){
int messagelength=message.length;
char [] head1 = ("EMSG0015").toCharArray(); //这里的15是发送次数,不能为1,猜测1应该是用于连接,数字随意(暂为发现问题),但位数一定要保证
char [] head2 = ("<Msg0015>" +messagelength + "</Msg0015>").toCharArray();
int datenum=messagelength;
if(10 <= messagelength && messagelength <= 99){
datenum=datenum+1;
}
if(99 < messagelength && messagelength <= 233){
datenum=datenum+2;
}
datenum=datenum+20;
char [] num={(char)(datenum)};
char [] date=null;//new char[head1.length+head2.length+message.length+num.length*2+10];
date=addchar(head1,num);
char [] buf={0,0,0,0,0,0,0};
date=addchar(date,buf);
date=addchar(date,num);
char [] buf1={0,0,0};
date=addchar(date,buf1);
date=addchar(date,head2);
date=addchar(date,message);
System.out.println(date.length);
System.out.println(date);
return date;
}
public static char[] addchar(char[] a,char[] b)
{
char[] c=new char[a.length+b.length];
for(int i=0;i<a.length;i++){
c=a;
}
for(int j=0;j<b.length;j++){
c[a.length+j]=b[j];
}
return c;
}
}
|
-
-
ehead.7z
653 Bytes, 下载次数: 64, 下载积分: 精币 -2 枚
|