骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 衣谷三国
查看: 1666|回复: 7

[功能与代码] WSE2联网扩展系列3-分解模组计算压力(联网服务的本地调用)

[复制链接]

24

主题

228

回帖

151

积分

见习骑士

Rank: 3

UID
3181770
第纳尔
1906
精华
0
互助
15
荣誉
0
贡献
10
魅力
170
注册时间
2020-5-5
鲜花(44) 鸡蛋(0)
发表于 2025-6-5 19:57:51 | 显示全部楼层 |阅读模式
既然接口:”send_post_message_to_url_advanced“可以发送网络请求。

那么设想一种场景。大地图几十个阵营,每次在计算阵营关系的时候就非常卡顿,能不能把外交关系的计算扔出去让网络服务计算?

答案当然是可以的,只需要在云服务器上写对应的接口,接收对应的信息,然后返回这些国家是否需要开战或者是否和平的信息即可。
但有个问题是,模组中的国家开战与是否要联网其实没有任何关系。 这是属于纯粹单机的内容。
那有没有办法让玩家在不联网的情况下,也可以完成这项工作?

可以的,兄弟,可以的。

聪明的你应该想到了,我们可以把服务部署在本地,让骑砍发送本地请求,本地服务接收到请求后返回给骑砍。

下面是具体实现
在module_simple_trigger.py文件中添加一个触发器,我们往本地http://localhost/tst”发送一个请求,user_agent_string和请求体内信息是什么无所谓,因为我们只是单纯测试用。
测试调用成功后会调用script_network_test_success


  1. <div><div style="line-height: 19px;">
  2. <div>  (1,[
  3.       (display_message,"@尝 试 发 送 !"),
  4.       (send_post_message_to_url_advanced,"@http://localhost/tst",s0,"@Id=2","script_network_test_success", "script_gekokujo_network_fail", 0),
  5.   ])</div></div></div>
复制代码


module_script.py中添加这样的代码

  1. <blockquote>#本地部署网络显示信息
  2.     ("network_test_success",[
  3.       (display_message,"@接 收 成 功 {s0}")

  4.     ]),
复制代码



ok,那么这样MS的工作就完成了

接下来我们来编写服务器端脚本。
我们用python3的flask框架来构建一个服务器。
首先我们使用pip工具下载相关包
  1. <span class="pln" style="border: 0px;">pip install </span><span class="typ" style="border: 0px;">Flask</span>
复制代码
下载完成后,新建一个py文件,并且粘贴以下内容
  1. # -*- coding: utf-8 -*-

  2. import time

  3. from flask import Flask

  4. app = Flask(__name__)

  5. @app.route('/tst',methods=['GET', 'POST'])
  6. def hello():
  7.     time.sleep(1)#我故意让请求暂停一秒钟再进行发送返回值,为了验证骑砍的<b style="font-family: 宋体; white-space: normal; background-color: rgb(255, 255, 255);">send_post_message_to_url_advanced是异步的</b>
  8.     return "1|hello"

  9. if __name__ == '__main__':
  10.     # 注意:在Linux/Mac上需要sudo权限才能使用80端口
  11.     app.run(host='0.0.0.0', port=80)
复制代码
点击运行即在本地80端口运行了一个服务,且可以接收到骑砍发送的请求并且返回 "1|hello"接下来我们进入骑砍中,大地图按住空格即可看到请求在发送,然后接收的过程。这里面有意思的是这个网络请求其实是多线程异步的。下个帖子讲这个。我们可以通过这个操作如何扩展的来做新功能~
3c5ecc35-28ca-4f55-a271-b58688f06715.png

34

主题

1001

回帖

2556

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
2755938
第纳尔
6288
精华
12
互助
13
荣誉
98
贡献
85
魅力
265
注册时间
2016-7-5

骑砍中文站APP会员勋章骑士美德之忠诚勋章[杰出会员精华勋章]骑士美德之英勇勋章[杰出会员活跃勋章]骑士美德之正义勋章[杰出会员荣誉勋章]元老骑士勋章

鲜花(250) 鸡蛋(0)
发表于 2025-6-5 19:58:42 来自手机 | 显示全部楼层
路走宽了,666

24

主题

228

回帖

151

积分

见习骑士

Rank: 3

UID
3181770
第纳尔
1906
精华
0
互助
15
荣誉
0
贡献
10
魅力
170
注册时间
2020-5-5
鲜花(44) 鸡蛋(0)
 楼主| 发表于 2025-6-5 20:00:03 | 显示全部楼层

感谢支持

18

主题

689

回帖

377

积分

见习骑士

Rank: 3

UID
3102512
第纳尔
2430
精华
0
互助
33
荣誉
0
贡献
0
魅力
84
注册时间
2019-9-6

骑砍中文站APP会员勋章战团正版勋章霸主正版勋章

鲜花(62) 鸡蛋(0)
发表于 2025-6-5 20:05:07 | 显示全部楼层
这么快啊,行动力真强
解解解解解解解解解解解解解解解解解解

34

主题

236

回帖

196

积分

见习骑士

Rank: 3

UID
2462463
第纳尔
1607
精华
0
互助
23
荣誉
0
贡献
0
魅力
85
注册时间
2015-3-3
鲜花(62) 鸡蛋(0)
发表于 2025-6-5 20:07:48 | 显示全部楼层
技艺精湛冠群伦,风姿卓绝强无敌!

24

主题

228

回帖

151

积分

见习骑士

Rank: 3

UID
3181770
第纳尔
1906
精华
0
互助
15
荣誉
0
贡献
10
魅力
170
注册时间
2020-5-5
鲜花(44) 鸡蛋(0)
 楼主| 发表于 2025-6-5 20:33:21 | 显示全部楼层
战争傀儡阿格兰 发表于 2025-6-5 20:07
技艺精湛冠群伦,风姿卓绝强无敌!

66666666666666666666

21

主题

169

回帖

182

积分

贵族[MOD作者]

Rank: 7Rank: 7Rank: 7

UID
3048044
第纳尔
2224
精华
0
互助
19
荣誉
3
贡献
20
魅力
495
注册时间
2018-12-15
鲜花(43) 鸡蛋(0)
发表于 2025-6-5 21:19:44 | 显示全部楼层
66666666666666

16

主题

130

回帖

204

积分

见习骑士

Rank: 3

UID
3304622
第纳尔
690
精华
0
互助
26
荣誉
3
贡献
0
魅力
158
注册时间
2021-12-28
鲜花(31) 鸡蛋(0)
发表于 2025-6-5 23:37:44 | 显示全部楼层
跟进学习
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2025-9-4 11:25 , Processed in 0.104952 second(s), 30 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表