原文:Socket与TcpClient的区别

Socket和TcpClient有什么区别

原文:http://wxwinter.spaces.live.com/blog/cns!C36588978AFC344A!322.entry

回答: "网络编程中,使用Socket和TcpClient有什么区别" http://community.csdn.net/Expert/TopicView.asp?id=4971812
本人回贴1:
-----------------------------
物理层:HUB,网线
链路层:MAC,ARP,交换机
网络层:IP,ICMP,IGMP,路由器
传输层:TCP,UDP
会话层:HTTP,SMTP,FTP,POP3
表示层:SOAP,SSL
应用层:WebService的Method
-------------------------------
Socket是对网络层操作 TcpClient是对传输层操作 ASP.NET是对会话层操作
你可以用Socket访问IIS中的ASP.NET的页面,不过传输层,会话层的转换就要你自已用代码实现了
 
问: 你可以用Socket访问IIS中的ASP.NET的页面,不过传输层,会话层的转换就要你自已用代码实现了 ================================= 上面的话是什么意思?
本人回贴2: 如果你用Socket访问IIS,要做如下考虑:
网络层: 使用什么网络层协议,如IPV4还是IPV6;如果开发路由器也要考虑这个问题
传输层: 你要使用那种传输层协议,比如是TCP.
会话层: 你要使用那种会话层协议,如HTTP.
===================================================== 也就是说你可以用 Socket类.Send方法 发送如下字串的二进制到IIS // GET /?T1=234&T2=789&B1=%CC%E1%BD%BB HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* Accept-Language: zh-cn Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705) Host: 192.168.0.2:81 Connection: Keep-Alive //
你会收用Receive到如下数据: // HTTP/1.0 200 OK MIME_version:1.0 Content_Type:text/html Content_Length:N
[input type=button] // 然后你可以将此数据解析成一个HTML页的按钮 ///////////////////////////////////////////////////////////
上面的操作就是: 网络层-----会话层,用Socket访问IIS中的ASP.NET的页面 传输层,会话层的转换自已用代码实现了
但是要这样做,WEB开发人员会死的很惨,所以WEB开发只要实现[会话层-----会话层]就可以了 他要要做的只是[form] 到IIS,Response到客户端。 而到了WebService的Method开发时,Response都不用考虑了
 
本人回贴3:
现在再说[Socket和TcpClient有什么区别]
Socket:网络层 TcpClient:传输层
当你只考虑:主机,端口,数据传输时,用TcpClient,或UdpClient 当你要考虑:IP封包,路由,IP数据包时,用Socket
还有NET中的Socket类提供了一些对Socket操作的高级封装,但同时无法实现一些Socket底部操作。
目前在NET中不建议使用Socket,就如现在不建议使用NET开发DirectX一样,虽然可以做到
等路由器,交换机都使用Win CE,集成Net类时,也许我上面的话会过时

Socket与TcpClient的区别的更多相关文章

  1. Socket与TcpClient的区别(转载)

    Socket和TcpClient有什么区别 原文:http://wxwinter.spaces.live.com/blog/cns!C36588978AFC344A!322.entry 回答: &qu ...

  2. Socket与TcpClient的区别(转载)

    Socket和TcpClient有什么区别 原文:http://wxwinter.spaces.live.com/blog/cns!C36588978AFC344A!322.entry 回答: &qu ...

  3. iOS之 HTTP、Socket、TCP的区别(易混

    一.HTTP 是一种超文本传输协议,全名hypertext transfer protocol,从字面意思上可以看出该协议用于规定客户端与服务端之间的传输规则, 传输的内容不限于文本(任意类型的数据) ...

  4. TCP与UDP在socket编程中的区别

    一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  UDP程序结构较简单  流模式与数据报模式  TCP保证数据正确性,UDP可能丢包  TCP保证数据顺序,UD ...

  5. TCP/IP,Http,Socket,XMPP的区别

    大学学习网络基础的时候老师讲过,网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用 ...

  6. 【socket】TCP 和 UDP 在socket编程中的区别

    一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  UDP程序结构较简单  流模式与数据报模式  TCP保证数据正确性,UDP可能丢包  TCP保证数据顺序,UD ...

  7. TCP与UDP在socket编程中的区别 (网络收集转载)

    http://blog.chinaunix.net/uid-26421509-id-3814684.html 一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  ...

  8. socket和http的区别

    1.HTTP连接 HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用 ...

  9. TCP 和 UDP 在socket编程中的区别(转)

    一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  UDP程序结构较简单  流模式与数据报模式  TCP保证数据正确性,UDP可能丢包  TCP保证数据顺序,UD ...

随机推荐

  1. Java参数校验工具validation实践

    介绍 在项目开发当中,数据校验是你必须要考虑和面对的事情,为此要写上一大串的代码进行校验,这样就会导致代码冗余和一些管理的问题. 例如下面的代码: public void push(List<L ...

  2. 二分图——poj2239

    水题 /* n门课,每门课有一个时间t 要求最大的n->t的匹配 */ #include<iostream> #include<cstring> #include< ...

  3. springboot导入excel到mysql

    @Controller @RequestMapping(path = "/excel") public class ImportController { @Autowired pr ...

  4. iOS7 断了统计和追踪用户的后路

    评论里大家都认可用identifierForVendor 然后用keychain和iCloud各保存一份. 看来这是接近最终结果的办法了. 官方文档又说了下面的话, 又有点费解. 我们只要把最后一组s ...

  5. Android开发随笔

    1.线性布局LinearLayout时,用到layout_weight权重的使用 控件的宽度(高度)=自身宽度(高度)+剩余空间的所占比例 剩余空间(可以为负值)=屏幕宽-所有控件宽度(高度)< ...

  6. Jeecg-Boot前后端分离,针对敏感数据,加密传递方案

    # 针对敏感数据,加密传递方案 第一步: 在vue页面引入aesEncrypt.js encryption方法.示例代码: import { encryption } from '@/utils/en ...

  7. 嵌入式开发—C语言面试题

    嵌入式开发—C语言面试题 源地址:http://blog.csdn.net/xdx2ct1314/article/details/7358929   1. 用预处理指令#define 声明一个常数,用 ...

  8. log4j.properties配置及详解

    log4j.properties文件配置: log4j.rootLogger = debug,console log4j.appender.console = org.apache.log4j.Con ...

  9. HTML编码的用户输入------阻止向Controller的方法传入参数时用链接注入javascript代码或者HTML标记

  10. 05-4-style的代替操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...