C#网络编程

来源:互联网 发布:seo内链优化 编辑:程序博客网 时间:2024/06/05 04:53

一、Socket(套接字)编程(Tcp)

1.基于Tcp协议的Socket通讯类似于B/S架构,面向连接,但不同的是服务器端可以向客户端主动推送消息。
   使用Tcp协议通讯需要具备以下几个条件:
    (1).建立一个套接字(Socket)
    (2).绑定服务器端IP地址及端口号--服务器端
    (3).利用Listen()方法开启监听--服务器端
    (4).利用Accept()方法尝试与客户端建立一个连接--服务器端
    (5).利用Connect()方法与服务器建立连接--客户端
    (5).利用Send()方法向建立连接的主机发送消息
    (6).利用Recive()方法接受来自建立连接的主机的消息(可靠连接)

二、Socket(套接字)编程(Udp)

基于Udp协议是无连接模式通讯,占用资源少,响应速度快,延时低。至于可靠性,可通过应用层的控制来满足。(不可靠连接)
    (1).建立一个套接字(Socket)
    (2).绑定服务器端IP地址及端口号--服务器端
    (3).通过SendTo()方法向指定主机发送消息需提供主机IP地址及端口)
    (4).通过ReciveFrom()方法接收指定主机发送的消息(需提供主机IP地址及端口)

三、Socket - TcpClient,TcpListener,UdpClient

应用程序可以通过 TCPClient、TCPListener 和 UDPClient 类使用传输控制协议 (TCP) 和用户数据文报协议 (UDP) 服务。这些协议类建立在

System.Net.Sockets.Socket 类的基础之上,负责数据传送的细节。(也就是说TCPClient、TCPListener 和 UDPClient 类是用来简化Socket)

    TcpClient 和 TcpListener 使用 NetworkStream 类表示网络。使用 GetStream 方法返回网络流,然后调用该流的 Read 和 Write 方法。NetworkStream 不拥有协议类

的基础套接字,因此关闭它并不影响套接字。

    UdpClient 类使用字节数组保存 UDP 数据文报。使用 Send 方法向网络发送数据,使用 Receive 方法接收传入的数据文报。


四、TCP协议和UDP协议连接过程的区别

1.基于连接与无连接;

2.对系统资源的要求(TCP较多,UDP少);

3.UDP程序结构较简单;

4.流模式与数据报模式 ;

5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。


0 0