登录 立即注册

找到2240个回复 (用户: 老虎会游泳)

老虎会游泳 8楼回复 烟雨一个问题求助网友!双宽带如何实现上传和下载分开 (2023-07-02//)

@烟雨,其实可以更简单,你访问国外网站肯定需要代理吧,直接把代理那个IP设置为走联通就行了

老虎会游泳 7楼回复 烟雨一个问题求助网友!双宽带如何实现上传和下载分开 (2023-07-02//)

【扩展讨论】
如果我们抛开家庭宽带的限制,就理论上来说,TCP/IP能不能实现上传和下载分流呢?

是可以的,但需要你有BGP公网IP。

BGP意味着你的单个IP可以同时在多家运营商的网络里使用,所以你可以通过电信的链路接收数据包,但通过联通的链路把响应包发出去,因为是同一个IP,连接不会断开,并且最终可以成功路由到对端。

不过该技术的门槛(BGP公网IP)意味着它只会出现在云服务机房里,家庭宽带肯定是用不上的。

老虎会游泳 5楼回复 烟雨一个问题求助网友!双宽带如何实现上传和下载分开 (2023-07-02//)

或者直接不区分上传下载,不区分应用,建立连接时随机选择一条线路。

这种技术称为“多WAN负载均衡”,随便搜一搜就能找到很多解决方案。比如可以搜“openwrt双宽带负载均衡”。

老虎会游泳 4楼回复 烟雨一个问题求助网友!双宽带如何实现上传和下载分开 (2023-07-02//)

但无论采取哪种方案,都需要手动维护大量规则,需要付出巨大的努力才能得到一点点收获,也许不值得。

所以,直接弄两个路由器,上传的时候连A,下载的时候连B,可能是最具可操作性的方式。

老虎会游泳 3楼回复 烟雨一个问题求助网友!双宽带如何实现上传和下载分开 (2023-07-02//)

基于IP地址是最简单的,只要建立两个WAN,然后在路由表添加条目,把特定IP或网段转发到特定的WAN即可。但是这不稳定,需要经常维护,因为服务的IP会自动变(不过可以结合智能DNS来使用,比如特定域名解析出的IP自动添加到路由表实现分流)。而且像百度网盘这样的应用,上传和下载服务器可能都是在一起的,根据IP没办法分开。

代理服务器方案复杂一点,但根据域名或请求类型进行分流还算稳定,配好了就能一直用,并且可以完美的处理HTTP类型流量。不过想让代理服务器完美处理HTTPS流量比较困难,如果想避免证书信任问题,就只能透明转发,这样就只能提取到域名,提取不到HTTP请求类型了。如果想接管HTTPS流量,根据请求类型进行分流,就会遇到证书不信任的问题。此外,代理服务器也完全没有处理UDP等游戏流量的能力。

此外,某些应用的登录状态是和IP绑定在一起的,切换线路会导致掉线或者访问被拒绝,服务无法正常使用,这样分流也就失去了意义。

综上所述,按应用进行分流是可行的,但根据上传下载进行分流比较困难,对登录状态绑定IP的应用来说甚至不可行。

老虎会游泳 2楼回复 烟雨一个问题求助网友!双宽带如何实现上传和下载分开 (2023-07-02//)

简单来说,在路由器看来,最初建立的所有连接都是上传连接,如果不手写规则,路由器没办法自动发现它是下载连接。等路由器发现它是下载连接的时候,连接已经确立,失去了切换线路的机会。

在路由器的视角中,上传连接和下载连接唯一的区别只是上传连接中,你发送的数据包比收到的数据包多,而下载连接恰好相反。但这个信息只有连接建立后才能知道,而一但连接建立,就没办法切换线路了。

所以必须有人手写规则,在建立连接之前根据其他信息(比如域名、IP地址或HTTP请求类型)猜测该连接到底是上传还是下载,然后才能进行分流。如果要分析HTTP请求类型,就需要使用代理服务器,然后在代理服务器里添加规则,并借助iptables把流量转发到代理服务器进行分析。基于域名和IP地址的话可以使用路由规则(ip route或ip rule)实现。

老虎会游泳 1楼回复 烟雨一个问题求助网友!双宽带如何实现上传和下载分开 (2023-07-02//)

@烟雨,只能根据域名或者IP地址进行分流,比如百度网盘走线路A,腾讯视频走线路B。

上传下载自动分离是做不到的,因为任何连接在最开始的时候都是上传(是你连接服务器,此时你是上传方),随后服务器开始发送大量数据,才变成下载,但此时连接已经建立,没办法切换到另一条线路了。

所以必须手动创建规则,在连接还没有建立的时候就决定要走哪条线路。

老虎会游泳 3楼回复 无名啊有什么小型的 NoSQL 文档数据库吗?类似 SQLite 那样的 (2023-06-29//)

LevelDB

老虎会游泳 2楼回复 森森一个搜索bug?无法登录及保存信息 (2023-06-29//)

@森森@没落的情绪,问题是存在的,因为HTTP;被认为是sid,它优先级最高,所以登录后依然处于掉线状态

老虎会游泳 12楼回复 cgo的值接受体? (2023-06-29//)

@c,本来就不应该做这种改变。如果可能会改变又没加锁,就是bug。

老虎会游泳 9楼回复 cgo的值接受体? (2023-06-28//)

@㝶芾厶眵攴䭡,我其实不知道是新特性,只是做理论分析。

老虎会游泳 7楼回复 cgo的值接受体? (2023-06-28//)

@㝶芾厶眵攴䭡,如果编译时已经优化成寄存器拷贝了,就不会有内存分配了。

老虎会游泳 5楼回复 cgo的值接受体? (2023-06-27//)

如果对象很小,可以直接放在寄存器上(<=64位),用值接收者可以更快,因为可以优化为寄存器拷贝,避免了内存寻址。如果用指针接收者,就必须为对象分配内存地址,会稍慢。

老虎会游泳 56楼回复 老虎会游泳【更新19】【新box64兼容性差,降级回19】Wine游戏助手ARM64测试版 (2023-06-26//)

@1mm0rtal,对了忘记问,你的CPU是什么,是国产的吗?飞腾、鲲鹏、海思麒麟?


后记:我用飞腾ft2000/4测试成功了,用下图中这个新加的17号

注意必须先选区才能登录,没选区点登录没反应,也没有明确的提示。选电信1区就行。

图片.png(2.47 MB)

老虎会游泳 55楼回复 老虎会游泳【更新19】【新box64兼容性差,降级回19】Wine游戏助手ARM64测试版 (2023-06-26//)

@1mm0rtal,用这种方式发送一个启动sw3.exe的wine.log文件:
https://hu60.cn/q.php/bbs.topic.96470.html#nav

老虎会游泳 6楼回复 胡椒舰长golang中两个map[uint64]interface会互相影响吗 (2023-06-25//)
package main

import (
	"fmt"
)

type InterfaceConnection interface {
	DoSomething() int
}

type MyConnection struct {
	id int
}

func (c *MyConnection) DoSomething() int {
	fmt.Println("Doing something:", c.id)
	return c.id

}

func main() {
	Connections := make(map[uint64]InterfaceConnection)
	_workerConnections := make(map[uint64]InterfaceConnection)

	conn := &MyConnection{id: 1}

	Connections[1] = conn
	_workerConnections[1] = conn

	obj, ok := Connections[1]
	fmt.Printf("%v, %v\n", obj, ok)

	delete(Connections, 1)

	obj, ok = Connections[1]
	fmt.Printf("%v, %v\n", obj, ok)

	obj, ok = _workerConnections[1]
	fmt.Printf("%v, %v\n", obj, ok)
}
&{1}, true
<nil>, false
&{1}, true

确实不会影响另一个

老虎会游泳 7楼回复 胡椒舰长golang中两个map[uint64]interface会互相影响吗 (2023-06-25//)

map的value是同一个&Struct{}

map的delete只是删除了键和值的对应关系,并不会对值做内存释放操作。
除非没有地方继续引用该值,它才会被垃圾回收。
所以直到fmt.Printf("%p", _workerConnections[1])执行完成,&MyConnection{id: 1}才可以被垃圾回收,在此之前它都是有效的。

老虎会游泳 53楼回复 老虎会游泳【更新19】【新box64兼容性差,降级回19】Wine游戏助手ARM64测试版 (2023-06-25//)

@1mm0rtal,你选的游戏安装程序是什么格式,是exe吗?

老虎会游泳 51楼回复 老虎会游泳【更新19】【新box64兼容性差,降级回19】Wine游戏助手ARM64测试版 (2023-06-20//)

@allenzhe,我已经修改了安装脚本,你可以再用

wget --no-check-certificate -O- https://get.winegame.net | bash

试试。

老虎会游泳 4楼回复 老虎会游泳兼容华为ExaGear的银河麒麟v10 sp1 arm64内核(飞腾网卡不可用) (2023-06-19//)

@bigfuji,麒麟990只能使用华为定制的内核,安装第三方内核没有用,就算真的换了应该也启动不了。

下一页 上一页 (21 / 112页)

1月16日 00:26 星期五

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1