草庐IT

listen_address

全部标签

Cannot assign requested address错误解决

编程时候出现了socket绑定失败,返回值为-1。利用perror定位错位为cannotassignrequestedaddress。 大致上是由于客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端口号,所以新的连接没办法绑定端口,即“Cannotassignrequestedaddress”。是客户端的问题不是服务器端的问题。通过netstat,的确看到很多TIME_WAIT状态的连接。client端频繁建立连接,而端口释放较慢,导致建立新连接时无可用端口。解决办法执行命令修改如下内核参数(需要root权限) 调低端口释放后的等待时间,

Cannot assign requested address错误解决

编程时候出现了socket绑定失败,返回值为-1。利用perror定位错位为cannotassignrequestedaddress。 大致上是由于客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端口号,所以新的连接没办法绑定端口,即“Cannotassignrequestedaddress”。是客户端的问题不是服务器端的问题。通过netstat,的确看到很多TIME_WAIT状态的连接。client端频繁建立连接,而端口释放较慢,导致建立新连接时无可用端口。解决办法执行命令修改如下内核参数(需要root权限) 调低端口释放后的等待时间,

Unity Addressable 快速使用

说明:下文中Addressable简称Aa使用Aa的原因使用Aa可以做到动态加载,这里的动态加载指的是当我们需要某个资源的时候才去加载它。这里的资源可以是预制体、图片、音效等等。这样做的好处是:避免资源全部一次性加载,占用不必要的内存,避免手机资源加载缓慢、手机发热,卡顿。可以做到资源的热更,注意这里的资源不包括代码。这部分后面再细说。安装Aa.CN后缀的是加密版本,但是好像有看到文章说有大量GC存在,还没查验过。这里先使用没有后缀版本的。使用Aa1.创建Aa2.添加需要动态加载的资源方法1:选中资源,在Inspector中勾选Aa方法2:选中资源,直接拖拽到Aa面板中注意事项添加了需要动态加

Unity Addressable 快速使用

说明:下文中Addressable简称Aa使用Aa的原因使用Aa可以做到动态加载,这里的动态加载指的是当我们需要某个资源的时候才去加载它。这里的资源可以是预制体、图片、音效等等。这样做的好处是:避免资源全部一次性加载,占用不必要的内存,避免手机资源加载缓慢、手机发热,卡顿。可以做到资源的热更,注意这里的资源不包括代码。这部分后面再细说。安装Aa.CN后缀的是加密版本,但是好像有看到文章说有大量GC存在,还没查验过。这里先使用没有后缀版本的。使用Aa1.创建Aa2.添加需要动态加载的资源方法1:选中资源,在Inspector中勾选Aa方法2:选中资源,直接拖拽到Aa面板中注意事项添加了需要动态加

C# UDP 套接字 : Get receiver address

我有一个异步UDP服务器类,其套接字绑定(bind)在IPAddress.Any上,我想知道接收到的数据包发送到(...或接收到)哪个IP地址。看来我不能只使用Socket.LocalEndPoint属性,因为它总是返回0.0.0.0(这是有道理的,因为它绑定(bind)到那个...)。以下是我目前使用的代码中有趣的部分:privateSocketudpSock;privatebyte[]buffer;publicvoidStarter(){//SetupthesocketandmessagebufferudpSock=newSocket(AddressFamily.InterNetw

C# UDP 套接字 : Get receiver address

我有一个异步UDP服务器类,其套接字绑定(bind)在IPAddress.Any上,我想知道接收到的数据包发送到(...或接收到)哪个IP地址。看来我不能只使用Socket.LocalEndPoint属性,因为它总是返回0.0.0.0(这是有道理的,因为它绑定(bind)到那个...)。以下是我目前使用的代码中有趣的部分:privateSocketudpSock;privatebyte[]buffer;publicvoidStarter(){//SetupthesocketandmessagebufferudpSock=newSocket(AddressFamily.InterNetw

Addressable 异步加载场景并获取加载进度

项目场景:一开始用PercentComplete函数获取加载进度,发现每次都是从0.85开始计算,不准,官方文档解释:“PercentComplete将反映总体操作的进展情况,而不会准确地表示仅下载百分比或加载到内存中的百分比。”,“要获得准确的下载百分比,请使用GetDownloadStatus()。”GetDownloadStatus().Percent:将计算完成的百分比作为介于0和1之间的浮点值返回。解决方案:使用GetDownloadStatus().Percent获取下载进度voidStart(){StartCoroutine(LoadScene());}IEnumeratorLo

[游戏开发]Unity Addressable打包策略

前言Addressables的基础看这篇文章Addressable全教程最近公司在写新的框架,决定放弃老的bundle打包方式,使用Addressable,因此我要捋顺新的打包方案,并且解决所有疑问。正文打包的最终目的是:build出一堆Bundle文件,而哪些因素会影响出包结果,总结一下有3个关键因素和1个非关键因素关键因素1:AssetGroups自定义AssetGroup关键因素2:BundleMode关键因素3:自定义Label一张图就可以看懂这三项如何使用修改该Group的BundleMode之前是PackTogether,现在修改成PackTogetherByLabel,执行增量打

The request client is not a secure context and the resource is in more-private address ...

概述新版的chrome浏览器会校验发起端的域名和访问资源的域名直接的关系,如果客户端发起域名比访问资源所在的域名更public(开放),会导致Therequestclientisnotasecurecontextandtheresourceisinmore-privateaddress…错误产生。问题最近使用Chrome浏览器访问公司内网某个地址时,突然报了这么个错:Therequestclientisnotasecurecontextandtheresourceisinmore-privateaddressspaceprivate.以前都是正常的,最新的浏览器最近有什么更新导致的。原因报错内

Caused by: java.net.BindException: Address already in use: bind

这个报错是因为端口号已经被占用了,那么就有两种解决方式:换端口号或者杀掉这个进程一,换端口号这个比较简单,就是把tomcat的端口号改一下,换一个没用的端口号就行了。1,找到找到server.xml文件去tomcat的安装目录下的conf文件夹就可以找到2,修改端口号找到Connector标签,红方框中8080位置就是端口号,修改这个端口号即可,之后重启服务器二,杀掉占用了这个端口号的进程1,查看占用了9090端口号的进程,可以看到进程号43848命令如下netstat-aon|findstr"9090"2,杀掉这个进程命令如下:taskkill-f-pid43848