Webservice和Socket的区别

时间:2022-04-13 13:43:16
Webservice和Socket的区别
Webservice具体是不是用socket实现呢?
两种开发出来的东西有什么不一样呢。
 是不是外部调用方法一样呢?最好给自己写一下具体实现呢?

谢谢@

19 个解决方案

#1


网络七层协议为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

socket 只是 java在网络层定义的类,用来实现网络层。上面的各层需要我们自己在程序里实现。
例如端口可以自己定义 、数据包的定义、 数据包的加密解密等

而webService java实现了应用层的工具,他基于的服务为http协议,通过服务器才可以发布出去。
这样内部的端口的定义、数据包的定义和数据包的加密解密都做好了,所以我们就直接可以用了。

webService 内部数据格式为xml格式、由于基于http协议,所以可以不受防火墙的影响。
因为他的通信协议和我们浏览网页的协议是相同的。

#2


具体实现没工夫给你写

1楼解释相当明了

给个写web service接口的文章http://blog.csdn.net/zjx2388/archive/2008/11/24/3363335.aspx

里面是一个最简单的实现,有空去看看吧

#3


原理,实现方法,应用方法都不一样

#4


网络七层协议为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 

socket 只是 java在网络层定义的类,用来实现网络层。上面的各层需要我们自己在程序里实现。 
例如端口可以自己定义 、数据包的定义、 数据包的加密解密等 

而webService java实现了应用层的工具,他基于的服务为http协议,通过服务器才可以发布出去。 
这样内部的端口的定义、数据包的定义和数据包的加密解密都做好了,所以我们就直接可以用了。 

webService 内部数据格式为xml格式、由于基于http协议,所以可以不受防火墙的影响。 
因为他的通信协议和我们浏览网页的协议是相同的。 

正解

#5


这是不同层面的东西。

socket是系统层面的东西,可以完成TCP,UDP等协议之间的通信。

WebSevice是应用层面的东西,是使用Socket + HTTP 协议 的一种规范。

#6


引用 1 楼 believeyourself86 的回复:
网络七层协议为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

 socket 只是 java在网络层定义的类,用来实现网络层。上面的各层需要我们自己在程序里实现。
 例如端口可以自己定义 、数据包的定义、 数据包的加密解密等

 而webService java实现了应用层的工具,他基于的服务为http协议,通过服务器才可以发布出去。
 这样内部的端口的定义、数据包的定义和数据包的加密解密都做好了,所以我们就直接可以用了。

 webService 内部数据格式为xml格式、由于基于http协议,所以可以不受防火墙的影响。
 因为他的通信协议和我们浏览网页的协议是相同的。


正解,具体跟你讲,那可打了去了

#7


socket是系统层面的东西,可以完成TCP,UDP等协议之间的通信。 

WebSevice是应用层面的东西,是使用Socket + HTTP 协议 的一种规范。


socket 只是 java在网络层定义的类,用来实现网络层。上面的各层需要我们自己在程序里实现。 
例如端口可以自己定义 、数据包的定义、 数据包的加密解密等 

而webService java实现了应用层的工具,他基于的服务为http协议,通过服务器才可以发布出去。 
这样内部的端口的定义、数据包的定义和数据包的加密解密都做好了,所以我们就直接可以用了。 

webService 内部数据格式为xml格式、由于基于http协议,所以可以不受防火墙的影响。 
因为他的通信协议和我们浏览网页的协议是相同的。 


讲的真好

#8


多谢大家顶我!哈哈。

#9


还是有点晕呢。因为我是做java的,能不能提供点别的开发语言的调用方式呢。谢谢

#10


WebServie主要要解决的问题就是不同语言之间的互访。
比如说Java调用C#,C++调用Java什么的,但是效率比较差,还好,用于Web上。忍了~

如果真是本地的话,java基本不需要访问其他语言的功能的。

#11


webservice是socket的一种短连接应用

#12


socket基于TCP/IP协议,
HTTP是基于TCP/IP的更高层的协议,webservice是基于HTTP协议的。

#13


貌似 socket=[ IP : port ]

#14


引用 1 楼 believeyourself86 的回复:
网络七层协议为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

socket 只是 java在网络层定义的类,用来实现网络层。上面的各层需要我们自己在程序里实现。
例如端口可以自己定义 、数据包的定义、 数据包的加密解密等

而webService java实现了应用层的工具,他基于的服务为http协议,通过服务器才可以发布出去。
这样内部的端口的定义、数据包的定义和数据包的加密解密都做好了,所以我们就直接可以用了。

webService 内部数据格式为xml格式、由于基于http协议,所以可以不受防火墙的影响。
因为他的通信协议和我们浏览网页的协议是相同的。


webservice好像多用SOAP协议吧,不是基于http吧,当然也可以用http。
socket是底层数据通信,像java中的RMI,其实都是封装了socket而已。

EJB实现了Java平台分布式松耦合,而webservice实现了多平台分布式的松耦合,起关键作用的技术其实是XML,个人感觉。

#15


欢迎进来讨论呢哦

#16


1楼的,解释的很清楚全面了。

#17


解决socket并发有什么号方法吗?

#18


引用 14 楼 song1216 的回复:
引用 1 楼 believeyourself86 的回复:
网络七层协议为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

socket 只是 java在网络层定义的类,用来实现网络层。上面的各层需要我们自己在程序里实现。
例如端口可以自己定义 、数据包的定义、 数据包的加密解密等

而webService java实现了应用层的工具,他基于的服务为http协议,通过服……

是很不错哦

#19


   Socket更多用于专用网之间数据传递;其传递数据的效率会比webservice快吧,个人感觉。webservice用工具开发起来的话快。

#1


网络七层协议为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

socket 只是 java在网络层定义的类,用来实现网络层。上面的各层需要我们自己在程序里实现。
例如端口可以自己定义 、数据包的定义、 数据包的加密解密等

而webService java实现了应用层的工具,他基于的服务为http协议,通过服务器才可以发布出去。
这样内部的端口的定义、数据包的定义和数据包的加密解密都做好了,所以我们就直接可以用了。

webService 内部数据格式为xml格式、由于基于http协议,所以可以不受防火墙的影响。
因为他的通信协议和我们浏览网页的协议是相同的。

#2


具体实现没工夫给你写

1楼解释相当明了

给个写web service接口的文章http://blog.csdn.net/zjx2388/archive/2008/11/24/3363335.aspx

里面是一个最简单的实现,有空去看看吧

#3


原理,实现方法,应用方法都不一样

#4


网络七层协议为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 

socket 只是 java在网络层定义的类,用来实现网络层。上面的各层需要我们自己在程序里实现。 
例如端口可以自己定义 、数据包的定义、 数据包的加密解密等 

而webService java实现了应用层的工具,他基于的服务为http协议,通过服务器才可以发布出去。 
这样内部的端口的定义、数据包的定义和数据包的加密解密都做好了,所以我们就直接可以用了。 

webService 内部数据格式为xml格式、由于基于http协议,所以可以不受防火墙的影响。 
因为他的通信协议和我们浏览网页的协议是相同的。 

正解

#5


这是不同层面的东西。

socket是系统层面的东西,可以完成TCP,UDP等协议之间的通信。

WebSevice是应用层面的东西,是使用Socket + HTTP 协议 的一种规范。

#6


引用 1 楼 believeyourself86 的回复:
网络七层协议为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

 socket 只是 java在网络层定义的类,用来实现网络层。上面的各层需要我们自己在程序里实现。
 例如端口可以自己定义 、数据包的定义、 数据包的加密解密等

 而webService java实现了应用层的工具,他基于的服务为http协议,通过服务器才可以发布出去。
 这样内部的端口的定义、数据包的定义和数据包的加密解密都做好了,所以我们就直接可以用了。

 webService 内部数据格式为xml格式、由于基于http协议,所以可以不受防火墙的影响。
 因为他的通信协议和我们浏览网页的协议是相同的。


正解,具体跟你讲,那可打了去了

#7


socket是系统层面的东西,可以完成TCP,UDP等协议之间的通信。 

WebSevice是应用层面的东西,是使用Socket + HTTP 协议 的一种规范。


socket 只是 java在网络层定义的类,用来实现网络层。上面的各层需要我们自己在程序里实现。 
例如端口可以自己定义 、数据包的定义、 数据包的加密解密等 

而webService java实现了应用层的工具,他基于的服务为http协议,通过服务器才可以发布出去。 
这样内部的端口的定义、数据包的定义和数据包的加密解密都做好了,所以我们就直接可以用了。 

webService 内部数据格式为xml格式、由于基于http协议,所以可以不受防火墙的影响。 
因为他的通信协议和我们浏览网页的协议是相同的。 


讲的真好

#8


多谢大家顶我!哈哈。

#9


还是有点晕呢。因为我是做java的,能不能提供点别的开发语言的调用方式呢。谢谢

#10


WebServie主要要解决的问题就是不同语言之间的互访。
比如说Java调用C#,C++调用Java什么的,但是效率比较差,还好,用于Web上。忍了~

如果真是本地的话,java基本不需要访问其他语言的功能的。

#11


webservice是socket的一种短连接应用

#12


socket基于TCP/IP协议,
HTTP是基于TCP/IP的更高层的协议,webservice是基于HTTP协议的。

#13


貌似 socket=[ IP : port ]

#14


引用 1 楼 believeyourself86 的回复:
网络七层协议为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

socket 只是 java在网络层定义的类,用来实现网络层。上面的各层需要我们自己在程序里实现。
例如端口可以自己定义 、数据包的定义、 数据包的加密解密等

而webService java实现了应用层的工具,他基于的服务为http协议,通过服务器才可以发布出去。
这样内部的端口的定义、数据包的定义和数据包的加密解密都做好了,所以我们就直接可以用了。

webService 内部数据格式为xml格式、由于基于http协议,所以可以不受防火墙的影响。
因为他的通信协议和我们浏览网页的协议是相同的。


webservice好像多用SOAP协议吧,不是基于http吧,当然也可以用http。
socket是底层数据通信,像java中的RMI,其实都是封装了socket而已。

EJB实现了Java平台分布式松耦合,而webservice实现了多平台分布式的松耦合,起关键作用的技术其实是XML,个人感觉。

#15


欢迎进来讨论呢哦

#16


1楼的,解释的很清楚全面了。

#17


解决socket并发有什么号方法吗?

#18


引用 14 楼 song1216 的回复:
引用 1 楼 believeyourself86 的回复:
网络七层协议为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

socket 只是 java在网络层定义的类,用来实现网络层。上面的各层需要我们自己在程序里实现。
例如端口可以自己定义 、数据包的定义、 数据包的加密解密等

而webService java实现了应用层的工具,他基于的服务为http协议,通过服……

是很不错哦

#19


   Socket更多用于专用网之间数据传递;其传递数据的效率会比webservice快吧,个人感觉。webservice用工具开发起来的话快。

#20