当前位置: 技术问答>java相关
*****************用java写socket server的经典问题?*****************
来源: 互联网 发布时间:2015-08-23
本文导语: 近来很不爽啊,老板新招了个头,结果项目架构也要变了,有个问题请教大家啊? 1。用java写一个socket server,能否部署在weblogic之类的容器里(个人觉得不可能,因为weblogic只是一个web和ejb的容器,不过可能通过rmi来...
近来很不爽啊,老板新招了个头,结果项目架构也要变了,有个问题请教大家啊?
1。用java写一个socket server,能否部署在weblogic之类的容器里(个人觉得不可能,因为weblogic只是一个web和ejb的容器,不过可能通过rmi来实现)?
2。用java写的socket server在1秒内能处理多少个用户的并发请求而不爆掉?
现在我们这个应用的架构是socket server把请求转发给部署在weblogic里的servlet.
也就是说客户连的socket server只是充当了转发数据包的角色,而实际上还是要去连servlet的,也就是说:最后还是要去连http server.
3。有没有办法去掉这个http server?
望大家踊跃讨论,给点意见,给分没问题!
1。用java写一个socket server,能否部署在weblogic之类的容器里(个人觉得不可能,因为weblogic只是一个web和ejb的容器,不过可能通过rmi来实现)?
2。用java写的socket server在1秒内能处理多少个用户的并发请求而不爆掉?
现在我们这个应用的架构是socket server把请求转发给部署在weblogic里的servlet.
也就是说客户连的socket server只是充当了转发数据包的角色,而实际上还是要去连servlet的,也就是说:最后还是要去连http server.
3。有没有办法去掉这个http server?
望大家踊跃讨论,给点意见,给分没问题!
|
1、肯定可以,这与web server没关系,web server上跑的程序干什么都行。
只要开一个ServerSocket就行了,编程上与application没有任何区别。
2、用java写的socket server在1秒内能处理多少个用户的并发请求而不爆掉?这与机器的配置还有你的程序有关。
3、如果客户用http协议连接,你的程序需要要能熟悉http的头,这需要对http协议有一定的了解,不复杂,但让人费解的是,web 服务器本身就是这样做的。好比要自己做一个web服务器了(不大可能做得比现有流行的好)。但一般情况下,开socket server是有特殊要求才这样做(一般不用http协议,而是直接用tcp协议或自己的应用层协议),安全上也可能有问题。
只要开一个ServerSocket就行了,编程上与application没有任何区别。
2、用java写的socket server在1秒内能处理多少个用户的并发请求而不爆掉?这与机器的配置还有你的程序有关。
3、如果客户用http协议连接,你的程序需要要能熟悉http的头,这需要对http协议有一定的了解,不复杂,但让人费解的是,web 服务器本身就是这样做的。好比要自己做一个web服务器了(不大可能做得比现有流行的好)。但一般情况下,开socket server是有特殊要求才这样做(一般不用http协议,而是直接用tcp协议或自己的应用层协议),安全上也可能有问题。
|
为何不直接用Servlet建一个Socket,客户端访问就行了
|
1.对weblogic不熟,不知道,但直觉告诉我可以。:)
2.可以用连接池。理论上支持无限多,(内存够大?)
3.不太明白
2.可以用连接池。理论上支持无限多,(内存够大?)
3.不太明白
|
你的socket server可以作为start class运行在weblogic server中
他应该像一个代理服务器,把接受到的http请求转发到servlet中去
他应该像一个代理服务器,把接受到的http请求转发到servlet中去
|
socket的运用好像和webserver没有什么关系把,server socket不就是server吗!!!!
|
作为socket server有自己的端口响应客户端socket的请求
为什么会加上weblogic?weblogic也有自己端口响应rmi,http以及ejb client的请求,采用socket转发数据包的角是否有这个必要?
为什么会加上weblogic?weblogic也有自己端口响应rmi,http以及ejb client的请求,采用socket转发数据包的角是否有这个必要?
|
woowindice(黑山老妖):
有没有想过用MessageDrivenBean,我觉得比较适合你的要求,其实你所说的用SOCKET把客户请求传递给SERVLET,可以看作是APPLICATION之间的消息通信,用消息来触发特定的业务逻辑。另外你所说的SOCKET数据转发,现在WL已经将消息支持到XML对象,应该同样适合你的要求。
或则就直接用SOCKET来吧,SOCKET SERVER端也可以直接编写处理过程啊,总之我觉得你所说的SOCKET+WL,不是太好
有没有想过用MessageDrivenBean,我觉得比较适合你的要求,其实你所说的用SOCKET把客户请求传递给SERVLET,可以看作是APPLICATION之间的消息通信,用消息来触发特定的业务逻辑。另外你所说的SOCKET数据转发,现在WL已经将消息支持到XML对象,应该同样适合你的要求。
或则就直接用SOCKET来吧,SOCKET SERVER端也可以直接编写处理过程啊,总之我觉得你所说的SOCKET+WL,不是太好