• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#中Socket和Tcp连接的区别

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
-----------------------------
物理层:HUB,网线
链路层:MAC,ARP,交换机
网络层:IP,ICMP,IGMP,路由器
传输层:TCP,UDP
会话层:HTTP,SMTP,FTP,POP3
表示层:SOAP,SSL
应用层:WebService的Method
-------------------------------
Socket是对网络层操作
TcpClient是对传输层操作
ASP.NET是对会话层操作

=================================
如果用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都不用考虑了
现在再说[Socket和TcpClient有什么区别]
Socket:网络层
TcpClient:传输层
当你只考虑:主机,端口,数据传输时,用TcpClient,或UdpClient
当你要考虑:IP封包,路由,IP数据包时,用Socket
还有NET中的Socket类提供了一些对Socket操作的高级封装,但同时无法实现一些Socket底部操作。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#中的this扩展方法与javascript中的prototype方法发布时间:2022-07-10
下一篇:
Redis总结C#中如何使用redis发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap