首页 > 解决方案 > 列出客户端的所有 IP 地址和端口

问题描述

我是 c# 中套接字编程的新手。我只想实现一个简单的程序,列出服务器中客户端请求的所有 IP 地址和端口。我有这段代码,没有错误,但启动项目时没有出现 gui。我已经允许它通过防火墙,但仍然没有运气。请帮帮我谢谢。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            IPEndPoint ip = new IPEndPoint(IPAddress.Any, 9999);

            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            socket.Bind(ip);
            socket.Listen(10);

            Socket client = socket.Accept();
            IPEndPoint newclient = (IPEndPoint)client.RemoteEndPoint;
            dataGridViewSelectedUsers.Rows.Add(Convert.ToString(newclient.Address), Convert.ToString(newclient.Port));
        }
    }
}

在此处输入图像描述

标签: c#

解决方案


尝试下面的代码将列出请求的 IP 到您的监听服务器

UdpClient udpServer = new UdpClient(11000);
while (true)
            {
              var remoteEP = new IPEndPoint(IPAddress.Any, 11000);
              var data = udpServer.Receive(ref remoteEP); // listen on port 11000 
            //list received ip address 
               listbox.items.Add(remoteEP.Tostring);

}

推荐阅读