可以连接服务器无法发送邮件 诛仙,诛仙管理员连接Gdeliveryd服务器发送邮件的Java实现…[通俗易懂]

可以连接服务器无法发送邮件 诛仙,诛仙管理员连接Gdeliveryd服务器发送邮件的Java实现…[通俗易懂]诛仙管理员连接Gdeliveryd服务器发送邮件的Java实现2016-05-08·Mr.Xia4580次浏览连接Gdeliveryd服务器,可以通过Socket建立邮件信息,向角色发送带有物品装备的邮件,Socket是一个和语言无关的协议,大多数语言比如C/C++/PHP/VB等都支持Socket,这里使用Java实现,适用于诛仙2和诛仙3诛仙给角色发送物品装备邮件的代码,通过Socket连接…

大家好,又见面了,我是你们的朋友全栈君。

诛仙管理员连接Gdeliveryd服务器发送邮件的Java实现

2016-05-08·Mr.Xia

4580 次浏览

连接Gdeliveryd服务器,可以通过Socket建立邮件信息,向角色发送带有物品装备的邮件,Socket是一个和语言无关的协议,大多数语言比如C/C++/PHP/VB等都支持Socket,这里使用Java实现,适用于诛仙2和诛仙3

诛仙给角色发送物品装备邮件的代码,通过Socket连接Gdeliveryd服务器,建立邮件信息:

“`

package com.zhenzhigu.gm.zx;

import java.io.IOException;

import java.io.OutputStream;

import java.net.Socket;

import java.net.UnknownHostException;

public class MailUtils {

/**

* 把0到255的整数转为十六进制

* 如果是1位则补到2位,如e补位之后是0e

*/

private static String intToHex2(int n){

String hex = Integer.toHexString(n);

if(hex.length()==1){

hex = “0”+hex;

}

return hex;

}

/**

* 把0-65535的整数转为十六进制,补位到4位,例如e补位之后是0e:00

*/

private static String intToHex4(int n){

String hex = Integer.toHexString(n);

if(hex.length()==1){

hex = “0”+hex+”:00″;

}else if(hex.length()==2){

hex += “:00”;

}else if(hex.length()==3){

String a = hex.substring(0, 1);

String b = hex.substring(1,3);

hex = “0”+a+”:”+b;

}else if(hex.length()==4){

String a = hex.substring(0, 2);

String b = hex.substring(2,4);

hex = a+”:”+b;

}else{

System.out.println(“err:”+hex+”:”+n);

}

return hex;

}

/**

* 标题与内容转为十六进制

* @param str

* @return

*/

private static String stringToHex(String str){

StringBuffer sb = new StringBuffer();

char[] crr = str.toCharArray();

for(int i=0;i

int n = crr[i];

String hex = Integer.toHexString(n);

if(hex.length()==2){

hex += “:00”;

}else{

String a = hex.substring(0, 2);

String b = hex.substring(2,4);

hex = b+”:”+a;

}

sb.append(hex);

if(i

sb.append(“:”);

}

}

return sb.toString();

}

private static String getHex(int receiver,int item,int number,String title,String text,int protect){

String pst = “00:00”;

switch (protect) {

case 0:pst=”00:00″;break;//[无保护类型=00:00]

case 1:pst=”00:40″;break;//[装备后绑定=00:40]

case 2:pst=”00:93″;break;//[已绑定状态=00:93]

case 3:pst=”02:53″;break;//[下线后消失=02:53]

default:break;

}

String str =

“90:76:xx:80:00:00:06:00:00:04:00:03:00:00:”

+ intToHex4(receiver)                                          //收件人

+ “:” + intToHex2(title.toCharArray().length*2)                  //标题长度

+ “:” + stringToHex(title)                                       //标题正文

+ “:” + intToHex2(text.toCharArray().length*2)                   //内容长度

+ “:” + stringToHex(text)                                        //内容正文

+ “:00:00:”

+ intToHex4(item)                                                 //物品ID

+ “:00:00:00:00:00:00:”

+ intToHex4(number)

+ “:00:00:”

+ intToHex4(number)

+ “:00:00:00:”

+ pst

+ “:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00”;

str=str.replaceAll(“xx”, intToHex2(((str.length()+1)/3)-3));

return str;

}

/**

* 发送邮件

* @param receiver  收件人ID

* @param item       物品ID

* @param number 物品数量

* @param title      邮件标题

* @param text       邮件内容(不要超过100字)

* @param protect    保护类型:[0=无][1=装备后绑定][2=已绑定][3=下线后消失]

* @throws UnknownHostException

* @throws IOException

*/

public static void send(int receiver,int item,int number,String title,String text,int protect) throws UnknownHostException, IOException{

String hex = getHex(receiver, item, number, title, text,protect);

System.out.println(hex);

//连接Gdeliveryd服务器,建立邮件信息

Socket sc = new Socket(“192.168.200.100”, 29100);

OutputStream out = sc.getOutputStream();

byte[] bf = new byte[1024];

String[] srr = hex.split(“:”);

for(int i=0;i

bf[i] = (byte) Integer.parseInt(srr[i], 16);

}

out.write(bf, 0, srr.length);

out.close();

}

public static void main(String[] args) throws UnknownHostException, IOException {

/**

* 强化真仙散仙用补天符:4006

* 强化白装用炼器符:685

* 强化神魔装用龙魂符:21200

* 强化封神装用天机符: 56030

*

* 仙豆:18794

* 龙牙草:20481(修炼宠物斗气=2仙豆)

* 天龙草:20484(修炼宠物斗气=50龙牙草)

* 九转阴阳幡:19183 (更改宠物前世)

* 易筋断骨丹:16320 (更改宠物限界)

*/

int receiver = 1072; //角色ID

int item = 18794;        //物品ID

int number = 99;     //物品数量

String title = “鸿蒙快递,请查收”;

String text = “这是您在鸿蒙宝库购买的商品,请查收!”;

MailUtils.send(receiver,item,number,title,text,0);

//MailUtils.send(1024, 8079, 9999, “恭喜您获得奖品”, “这是GM发送给您的奖品,请注意查收附件!”, 3);

}

}

“`

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161952.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql中添加索引的命令_mysql添加索引命令

    mysql中添加索引的命令_mysql添加索引命令1 PRIMARYKEY 主键索引 mysql gt ALTERTABLE table name ADDPRIMARYKE column 2 UNIQUE 唯一索引 mysql gt ALTERTABLE table name ADDUNIQUE column 3 INDEX 普通索引 mysql gt ALTERTABLE

    2025年11月16日
    2
  • 风控模型评估方法以及大数据风控模型概念

    风控模型评估方法以及大数据风控模型概念更新一下有效性指标中的区分能力指标:KS(Kolmogorov-Smirnov):KS用于模型风险区分能力进行评估,指标衡量的是好坏样本累计分部之间的差值。好坏样本累计差异越大,KS指标越大,那么模型的风险区分能力越强。KS的计算步骤如下:1.计算每个评分区间的好坏账户数。2.计算每个评分区间的累计好账户数占总好账户数比率(good%)和累计坏账户数占总坏账户数比率(bad%

    2022年6月3日
    41
  • java复杂对象转json字符串_java处理json数据

    java复杂对象转json字符串_java处理json数据最近对自己写的elasticsearch客户端框架在进行性能优化,数据插入部分使用的是JAVABean对象方式传参,框架内部使用了fastjson进行对象转json字符串的操作,尝试着使用不同方式进行对象转json字符串操作。找到了一种性能更好的方式,具体请看下面代码段:packagetest;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importcom.google.common…

    2022年9月21日
    2
  • java正则表达式详解

    java正则表达式详解一、正则表达式术语1)元字符:非一般字符,具有某种意义的字符。如:\bX:\b边界符,以X开始的单词2)正则表达式语法大全 字符 说明 \ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,”n”匹配字符”n”。”\n”匹配换行符。序列”\\”匹配”\”,”\(“匹配”(“。 …

    2022年5月31日
    42
  • Lamp架构_lamp服务器

    Lamp架构_lamp服务器LAMP架构搭建1.LAMP架构简介所谓lamp,其实就是由Linux+Apache+Mysql/MariaDB+Php/Perl/Python的一组动态网站或者服务器的开源软件,除Linux外其它各部件本身都是各自独立的程序,但是因为经常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。LAMP指的是Linux(操作系统)、Apache(HTTP服务器)、MySQL(也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python)的第一个字母,一般用来建

    2022年10月17日
    3
  • hostapd配置

    hostapd配置我们有个闲置的USB无线适配器(WIFI适配器),而我们的ISP路由器却是有线的。怎样把我们的家庭NAS服务器变成无线访问点(WAP),在不用买额外的WPA盒子的情况下,在Debian或Ubuntu系统下使用无线设备访问到它?你需要使用hostapd作为访问点和认证服务器。它实现了IEEE802.11访问点管理,IEEE802.1X/WPA/WPA2/EAP授权,RADIUS客户端,…

    2022年5月21日
    220

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号