程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#.net同步異步SOCKET通訊和多線程總結(1)

C#.net同步異步SOCKET通訊和多線程總結(1)

編輯:關於C語言

同步套接字通信

Socket支持下的網上點對點的通信

服務端實現監聽連接,客戶端實現發送連接請求,建立連接後進行發送和接收數據的功能

服務器端建立一個socket,設置好本機的ip和監聽的端口與socket進行綁定,開始監聽連接請求,當 接收到連接請求後,發送確認,同客戶端建立連接,開始與客戶端進行通信。

客戶端建立一個socket,設置好服務器端的IP和提供服務的端口,發出連接請求,接收到服務的確認 後,盡力連接,開始與服務器進行通信。

服務器端和客戶端的連接及它們之間的數據傳送均采用同步方式。

Socket

Socket是tcp\ip網絡協議接口。內部定義了許多的函數和例程。可以看成是網絡通信的一個端點。在 網絡通信中需要兩個主機或兩個進程。通過網絡傳遞數據,程序在網絡對話的每一端需要一個socket。

Tcp/IP傳輸層使用協議端口將數據傳送給一個主機的特定應用程序,協議端口是一個應用程序的進程 地址。傳輸層模塊的網絡軟件模塊要於另一個程序通信,它將使用協議端口,socket是運行在傳輸層的 api,使用socket建立連接發送數據要指定一個端口給它。

Socket:

Stream Socket流套接字 Socket提供雙向、有序、無重復的數據流服務,出溜大量的網絡數據。

Dgram socket數據包套接字 支持雙向數據流,不保證傳輸的可靠性、有序、無重復。

Row socket 原始套接字 訪問底層協議

建立socket 用C#

命名空間:using System.Net;using System.Net.Socket;

構造新的socket對象:socket原型:

Public socket (AddressFamily addressFamily,SocketType sockettype,ProtocolType protocolType)

AddressFamily 用來指定socket解析地址的尋址方案。Inte.Network標示需要ip版本4的地址, Inte.NetworkV6需要ip版本6的地址

SocketType參數指定socket類型Raw支持基礎傳輸協議訪問,Stream支持可靠,雙向,基於連接的數據 流。

ProtocolType表示socket支持的網絡協議

定義主機對象:

IPEndPoint類:IPEndPoint構造方法  位置:System.Net

原型:

1)   public IPEndPoint(IPAddress address,int port)

2)public IPEndPoint (long address,int port) 參數1整型int64如123456,參數2端口int32

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved