C#.net Sockets,服务端怎么知道客户端的IP和端口?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#.net Sockets,服务端怎么知道客户端的IP和端口?相关的知识,希望对你有一定的参考价值。

连上了怎么获得客户端的公网IP和端口。存在哪个值里还是什么,就是不知道才问的嘛

参考技术A socket有一个LocalEndPoint获取本地的ip和端口号
RemoteEndPoint来获取远程客户端的ip和端口号
参考技术B 是客户端连接服务器

//客户端代码
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
int port = 8000;
IPAddress myIP = IPAddress.Parse("服务器IP");
IPEndPoint myClient = new IPEndPoint(myIP, port);
sock.Connect(myClient);//连接服务器
//服务器代码
Socket ServerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

string ip = "服务器IP";
IPAddress ipAddr = IPAddress.Parse(ip);
int port = 8000;
IPEndPoint ippoint = new IPEndPoint(ipAddr, port);
ServerSocket.Bind(ippoint);//绑定
ServerSocket.Listen(10);//监听
参考技术C 晕,连接上了就可以获得客户端的公网IP和端口。 参考技术D 用 IPEndPoint

PowerTCP Sockets for .NET 6.1.5 Crack

PowerTCP Sockets for .NET

PowerTCP Sockets for .NET 包含易于使用的 TCP 和 UDP 组件,可帮助您创建 Internet 客户端应用程序,只需几行代码和方便的事件。Ping 组件使用 ICMP、UDP 和 TCP 启用服务器验证,而跟踪组件执行异步跟踪路由以实现快速响应。DNS 组件不依赖于操作系统服务,允许使用任何 DNS 服务器。高级分段流技术允许接收最多特定分隔符或固定长度的数据,非常适合构建基于 TCP 的自定义协议

 

特征:

  • 自动接收技术通过管理所有传入数据来减少代码
  • 使用 TCP 组件进行动态数据解析和事件通知
  • 支持 SOCKS4 和 SOCKS5 代理
  • 服务器性能高,每个连接都接收一个单独的线程(经测试每秒接受超过 75 个连接)
  • 设计用于桌面、Web 服务或 ASP.NET
  • 独特的异步UDP发送/接收功能增强了Microsoft .NET Framework中提供的功能
  • EnhancedStream 和 PipeStream 类允许开发人员创建自己强大的 Stream。
  • 使用 Dns 组件的用户定义的 DNS 服务器进行查找、反向地址查找和邮件地址查找(来自 MX 记录)
  • Ping 组件允许使用 ICMP、UDP 和 TCP 协议进行主机验证
  • 跟踪支持异步回显,可实现前所未有的跟踪路由性能
  • 每个组件都经过体系结构以利用 .NET 面向对象的功能
  • 每个组件都具有多线程异步功能
  • 每个组件都允许在同步使用期间处理用户界面事件
  • 每个组件在关键成员上都是线程安全的
  • 支持国际字符集
  • 调试已从运行时测试扩展到每个组件中的设计时编辑器,以允许在不编译的情况下测试连接。编辑器中设置的属性直接记录在代码中,实时反馈窗口提供有关结果的详细信息

以上是关于C#.net Sockets,服务端怎么知道客户端的IP和端口?的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中Sockets长连接时使用read()阻塞的问题!急救!

C#mvc怎么从服务器上下载文件到客户端

.net mvc服务端怎么接收客户端的发送的json数据?

使用 Sockets 发送和接收数据

什么是使用 .NET 3.5 异步 System.Net.Sockets.Socket 停止数据流?

[VB.NET]Upnp/udp打孔聊天程序tcp/udp sockets