.NET Socket TCP/UDP程式入門基礎《IPEndPoint類別》

IPEndPoint類別其實是個小東西,就做一件很簡單的事情,把IP位址和通訊埠封裝成一個物件,雖然它是如此簡單,不過在某些狀態下會常用到這個類別,所以覺得有需要特別介紹一下。

        它只有兩種建構函式:

(1)IPEndPoint (Int64, Int32) :其中第一個參數代表IP位址的Int64值,第二個參數為通訊埠號
範例:
Dim i As Long
i = 192 + 168 * 256 + 1 * 256 ^ 2 + 2 * 256 ^ 3
Dim j As Integer
j = 9999
Dim myIPEndPoint As New IPEndPoint(i, j)
TextBox1.Text = "myIPEndPoint's IP:" & myIPEndPoint.Address.ToString() & " Port:" & myIPEndPoint.Port.ToString()

(2)IPEndPoint (IPAddress, Int32) :其中第一個參數傳入IPAddress類別的執行個體,第二個參數為通訊埠號
範例:
Dim myByte() As Byte = {192, 168, 1, 2}
Dim myIpaddress As New IPAddress(myByte)
Dim j As Integer
j = 9999
Dim myIPEndPoint As New IPEndPoint(myIpaddress, j)
TextBox1.Text = "myIPEndPoint's IP:" & myIPEndPoint.Address.ToString() & " Port:" & myIPEndPoint.Port.ToString()

        這玩意到目前為止還不看不出有多大用處,以個人的經驗而言最常的是當Socket程序中有時會需要利用Socket.LocalEndPointSocket.RemoteEndPoint 屬性取得IPEndPoint.AddressIPEndPoint.Port 屬性值,來確認目前動作的IP與Port。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用C#编写的简单的Socket服务器和客户端代码: 服务器端代码: ```csharp using System; using System.Net; using System.Net.Sockets; using System.Text; namespace SocketServer { class Program { static void Main(string[] args) { // 创建一个IP地址和端口号 IPAddress ip = IPAddress.Parse("127.0.0.1"); int port = 8888; // 创建一个Socket对象 Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // 绑定Socket对象到IP地址和端口号上 serverSocket.Bind(new IPEndPoint(ip, port)); // 开始监听客户端连接请求 serverSocket.Listen(10); Console.WriteLine("等待客户端连接..."); // 接受客户端连接请求 Socket clientSocket = serverSocket.Accept(); Console.WriteLine("客户端连接成功!"); // 向客户端发送消息 byte[] buffer = Encoding.UTF8.GetBytes("欢迎连接到服务器!"); clientSocket.Send(buffer); // 接收客户端发送的消息 buffer = new byte[1024]; int length = clientSocket.Receive(buffer); string message = Encoding.UTF8.GetString(buffer, 0, length); Console.WriteLine("接收到客户端消息:" + message); // 关闭Socket连接 clientSocket.Shutdown(SocketShutdown.Both); clientSocket.Close(); serverSocket.Close(); Console.ReadLine(); } } } ``` 客户端代码: ```csharp using System; using System.Net; using System.Net.Sockets; using System.Text; namespace SocketClient { class Program { static void Main(string[] args) { // 创建一个IP地址和端口号 IPAddress ip = IPAddress.Parse("127.0.0.1"); int port = 8888; // 创建一个Socket对象 Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // 连接到服务器 clientSocket.Connect(new IPEndPoint(ip, port)); // 接收服务器发送的消息 byte[] buffer = new byte[1024]; int length = clientSocket.Receive(buffer); string message = Encoding.UTF8.GetString(buffer, 0, length); Console.WriteLine("接收到服务器消息:" + message); // 向服务器发送消息 message = "你好,服务器!"; buffer = Encoding.UTF8.GetBytes(message); clientSocket.Send(buffer); // 关闭Socket连接 clientSocket.Shutdown(SocketShutdown.Both); clientSocket.Close(); Console.ReadLine(); } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值