⑴ webservice启动报错"java.net.SocketException: error setting options"有什么原因
java.net.SocketException如何才能更好的使用呢?这个就需要我们先要了解有关这个语言的相关问题。希望大家有所帮助。那么我们就来看看有关java.net.SocketException的相关知识。
第1个异常是 java.net.BindException:Address already in use: JVM_Bind。
该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时。异常的原因是以为与port一样的一个端口已经被启动,并进行监听。此时用netstat –an命令,可以看到一个Listending状态的端口。只需要找一个没有被占用的端口就能解决这个问题。
使用Java JDK中Java.net包控制UDP协议
通过Java.net.Socket 类抓取网页内容
通过java.net.Socket类抓取网页内容
通过Java.net包建立双向通讯
用来访问HTTP服务器的仿java.net功能类
第2个异常是java.net.SocketException: Connection refused: connect。
该异常发生在客户端进行 new Socket(ip, port)操作时,该异常发生的原因是或者具有ip地址的机器不能找到(也就是说从当前机器不存在到指定ip路由),或者是该ip存在,但找不到指定的端口进行监听。出现该问题,首先检查客户端的ip和port是否写错了,如果正确则从客户端ping一下服务器看是否能ping通,如果能ping通(服务服务器端把ping禁掉则需要另外的办法),则看在服务器端的监听指定端口的程序是否启动,这个肯定能解决这个问题。
第3个异常是java.net.SocketException: Socket is closed,
该异常在客户端和服务器均可能发生。异常的原因是己方主动关闭了连接后(调用了Socket的close方法)再对网络连接进行读写操作。
第4个异常是java.net.SocketException: (Connection reset或者Connect reset by peer:Socket write error)。
该异常在客户端和服务器端均有可能发生,引起该异常的原因有两个,第一个就是如果一端的Socket被关闭(或主动关闭或者因为异常退出而引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常(Connect reset by peer)。另一个是一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。简单的说就是在连接断开后的读和写操作引起的。
第5个异常是java.net.SocketException: Broken pipe。
该异常在客户端和服务器均有可能发生。在第4个异常的第一种情况中(也就是抛出 SocketExcepton:Connect reset by peer:Socket write error后),如果再继续写数据则抛出该异常。前两个异常的解决方法是首先确保程序退出前关闭所有的网络连接,其次是要检测对方的关闭连接操作,发现对方关闭连接后自己也要关闭该连接。
编写网络程序时需要注意的问题
第1个问题是要正确区分长、短连接。所谓的长连接是一经建立就永久保持。短连接就是在以下场景下,准备数据—>建立连接— >发送数据—>关闭连接。很多的程序员写了多年的网络程序,居然不知道什么是长连接,什么是短连接。
第2个问题是对长连接的维护。所谓的维护包括两个方面,首先是检测对方的主动断连(既调用 Socket的close方法),其次是检测对方的宕机、异常退出及网络不通。这是一个健壮的通信程序必须具备的。检测对方的主动断连很简单,主要一方主动断连,另一方如果在进行读操作,则此时的返回值只-1,一旦检测到对方断连,则应该主动关闭己方的连接(调用Socket的close方法)。
而检测对方的宕机、异常退出及网络不通常用方法是用“心跳”,也就是双方周期性的发送数据给对方,同时也从对方接收“心跳”,如果连续几个周期都没有收到对方心跳,则可以判断对方或者宕机或者异常推出或者网络不通,此时也需要主动关闭己方连接,如果是客户端可在延迟一定时间后重新发起连接。虽然Socket有一个keep alive选项来维护连接,如果用该选项,一般需要两个小时才能发现对方的宕机、异常退出及网络不通。
第3个问题是处理效率问题。不管是客户端还是服务器,如果是长连接一个程序至少需要两个线程,一个用于接收数据,一个用于发送心跳,写数据不需要专门的线程,当然另外还需要一类线程(俗称Worker线程)用于进行消息的处理,也就是说接收线程仅仅负责接收数据,然后再分发给Worker进行数据的处理。如果是短连接,则不需要发送心跳的线程,如果是服务器还需要一个专门的线程负责进行连接请求的监听。这些是一个通信程序的整体要求,具体怎么设计你的程序,就看你自己的设计水平了。
⑵ 如图,想要更改outlook web邮箱的地区和时区设置,提示针对邮箱的默认文件夹执行的本地化操作失败。
通过使用exchange powershell命令来进行时区更改即可,打开EMS执行如下命令:
Set-MailboxRegionalConfiguration -Identity mailboxaddressname -TimeZone "Chinese Standard Time"
⑶ JAVA WEB 时差的显示问题
根据你的想法,我想是否能通过JavaScript取得客户端当前的时间,然后传递给服务器进行比较,计算时间差。后来想,是否能通过JavaScript直接获取时区,于是上网查了一下。的确,有人这么做。
也许传递客户端时间可以通过Ajax的方式在本页传递过去。没有做过,只是一个想法。
你自己看看参考资料吧。
补充:
如果你想做国际化,干脆在数据库里面保存的时间都是UTC的,这样计算不同时区的时间时比较方便。
⑷ webSphere 服务报错解决方法怎么解决
你好,
1,要改端口,必须先启动,然后在控制台改,手工改比较麻烦。
2,建议你重新建个profile就好了,用profilemanage就行。
⑸ cacti在日本服务器上搭建出现时区错误
你的是VPS还是PHP空间?
如果是PHP空间的话,估计很难办。因为cacti使用的是command模式的php来解析php文件。我们使用的web服务通常配置修改的不是命令行方式的php.ini文件。
因此,如果是VPS的话,查看你的命令行方式的PHP.INI文件,修改其中的timezone即可。
⑹ Web项目启动时报错,但是不影响运行和启动
1、删除原有resource包后,新建源文件夹,在新的文件夹下新建测试类,图标一切正常。
(6)web时区报错扩展阅读:
Web项目启动注意事项:
1、用户将端口设为为80以后,tomcat会自动舍去端口号。
2、用户做完如上操作以后,将webapps目录下的项目删除。不然会在tomcat中同时存在两个相同的项目。
3、tomcat寻找文件路径的时候会优先在webapps目录下寻找,然后再去ROOT下寻找,如果存在同名的文件夹。
⑺ PHP中时区的一点疑惑:PHP CLI application 和PHP web application的区别,希望得到解答。
在php.ini中按你那样改就可以纠正时区。Asia/Shanghai,chongqing,hk等等八区都行。
关键在运行和调试中,php解释器必须统一、一致地读入这个php.ini。这涉及到你的apache和zend studio的配置。比如zend studio自带几个php解释器,就需要改成和apache用一个解释器和同一个php.ini。
⑻ windows2003企业版web服务器的日志时间与本机时间不一致,这是什么原因如何使其一致请细说
我们通过一个很小的设置让IIS日志时间使用服务器设置的时区的时间,我们使用的北京时间也就是+8区,一般来说安装操作系统的时候已经设置过了。下面对IIS进行设置(以Windows2003+IIS6为例):
打开“Internet 信息服务(IIS)管理器”,点击“Internet信息服务”、“本地计算机”、“网站”,在需要的网站上(如果要设置所有的网站,则直接在“网站”上)右击“属性”,打开网站属性。
在“网站”标签下找到“活动日志格式”,点击其后的“属性”,打开IIS日志属性
在IIS日志属性“常规”标签下,找到“文件命名和创建使用当地时间”,在其前打勾。
点击两次“确定”退出“Internet 信息服务(IIS)管理器”。
此时,IIS日志就已经是使用当地时间了
⑼ 用myeclipse运行一个web程序总是报错该怎么解决
用myeclipse运行一个web程序总是报错的解决方法:
1、当你有多个跳转的页面的语句时候,好好检查一下,当转发或者重定向的时候,需要在后加一个retrun 即可。
2、服务器中不允许多次跳转,否则会下面这个错误。
3、因为服务器端使用sendRedirect跳转到客户端的时候,不能在使用req.getRequestDispatcher("跳转的页面").forward(req,reqs);跳转。
4、所以在跳转之后,return就不会往下执行。
⑽ 客户端调用 webservice时报错 请求因 HTTP 状态 504 失败: Connection Timed Out。
不断增加时间的。或者减少后台的响应时间。