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

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

編輯:關於C語言

主機解析:

利用DNS服務器解析主機,使用Dns.Resolve方法

原型:public static IPHostEntry Resolve(string hostname) 參數:待解析的主機名稱,返回 IPHostEntry類值,IPHostEntry為Inte.Net主機地址信息提供容器,該容器提供存有IP地址列表,主機名 稱等。

Dns.GetHostByName獲取本地主機名稱

原型:public static IPHostEntry GetHostByName(string hostname)

GetHostByAddress

原型:1)public static IPHostEntry GetHostByAddress(IPAddress address) 參數:IP地址 2) public static IPHostEntry GetHostByAddress(string address) IP地址格式化字符串

端口綁定和監聽:

同步套接字服務器主機的綁定和端口監聽

Socket類的Bind(綁定主機),Listen(監聽端口),Accept(接收客戶端的連接請求)

Bind:原型:public void Bind(EndPoint LocalEP)參數為主機對象 IPEndPoint

Listen:原型:public void Listen(int backlog) 參數整型數值,掛起隊列最大值

accept:原型:public socket accept() 返回為套接字對象

演示程序:

IPAddress myip=IPAddress.Parse(“127.0.0.1”);

IPEndPoint myserver=new IPEndPoint(myip,2020);

Socket sock=new Socket (AddressFamily.Inte.Network,SocketType.Stream,ProtocolType.Tcp);

Sock.Bind (myserver);

Sock.Listen(50);

Socket bbb=sock.Accept();

發送數據:方法1:socket類的send方法二.NetworkStream類Write

send原型:public int Send(byte[] buffer) 字節數組

public int Send(byte[],SocketFlags)原型2說明,SocketFlags成員列表:DontRoute(不使用路由表 發送),MaxIOVectorLength(為發送和接收數據的wsabuf結構數量提供標准值)None 不對次調用使用標志 ) OutOfBand(消息的部分發送或接收)Partial(消息的部分發送或接收) Peek(查看傳入的消息)

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