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的区别 Socket和TcpClient有什么区别 原文:http://wxwinter.spaces.live.com/blog/cns!C36588978AF ...

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

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

  4. apache与nginx日志文件的区别(转载)

    apache与nginx日志文件的区别 转载:http://www.xfcodes.com/apache/log/3270.htm 导读:apache与nginx日志文件的区别,在apache与ngi ...

  5. FB01与F-02的区别(转载)

    FB01与F-02的区别(转载) FB01 : a) ''Post Document'' b) No doc type as SA automatically comes. c) No automat ...

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

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

  7. socket编程中write、read和send、recv之间的区别~转载

    socket编程中write.read和send.recv之间的区别   http://blog.csdn.net/petershina/article/details/7946615 一旦,我们建立 ...

  8. node与socket.io搭配小例子-转载

    //服务端代码 io = require('socket.io').listen(app), fs = require('fs'), cookie=require('cookie'); request ...

  9. stdcall, cdecl, pascal 区别(转载)

    转载自:http://www.cnblogs.com/lidabo/archive/2012/11/21/2781484.html stdcall, cdecl, pascal 区别 这三个参数都是告 ...

随机推荐

  1. php接口post提交方法 。

    方法一,用 file_get_contents function send_post($url, $post_data) { //$postdata = http_build_query($post_ ...

  2. linux Apache和php配置

    今天安装Apache httpd web服务器,安装过程分为三部分: (1)./configure (2)make (3)make install (需要root权限) 我的apache 安装在/ho ...

  3. java服务器

    WebLogic BEA公司开发的(被Oracle收购了)收费的 支持JavaEE所有的规范(ejb servlet/jsp规范) java  mysql(oracle)      2.WebSphe ...

  4. sql server查询出的结果中添加一列序列行

    select row_number()over(order by id) as rownum ,[UserName] ,[Password] ,[Mobile] ,[Email] ,[Sex] ,[C ...

  5. 怎么用一行代码解决CSS各种IE各种兼容问题

    用一行代码来解决CSS在,IE6,IE7,IE8,IE9,IE10 中的各种兼容性问题. 在网站前端写代码的过程中,很多时间IE各个版本的兼容问题很难整.现在百度与谷歌都有了一行解决这种兼容性的代码了 ...

  6. sqlmap.config 配置

    <?xml version="1.0" encoding="utf-8"?> <sqlMapConfig xmlns="http:/ ...

  7. 用PHP实现守护进程任务后台运行与多线程(php-resque使用说明)

    消息队列处理后台任务带来的问题 项目中经常会有后台运行任务的需求,比如发送邮件时,因为要连接邮件服务器,往往需要5-10秒甚至更长时间,如果能先给用户一个成功的提示信息,然后在后台慢慢处理发送邮件的操 ...

  8. 样式重置 取消input默认样式

    body, h1, h2, h3, h4, h5, h6, hr, p,blockquote, dl, dt, dd, ul, ol, li,pre, form, fieldset, legend, ...

  9. Android IOS WebRTC 音视频开发总结(二六)-- webrtc调用堆栈

    本文主要是自己之前研究WebRTC代码结构时的一些资料(包括Android,iOS,PC),文章来自博客园RTC.Blacker,转载请说明出处. 1.WEBRTC模块:音频数据采集.发送.接收.播放 ...

  10. redmine添加自定义属性

    使用redmine创建问题的时候,可能会发现没有我们需要的属性,这时候我们可以添加自定义的属性. 以添加满意度属性为例: 1.进入redmine管理界面,选择自定义属性 2.选择问题下面的新建自定义属 ...