最后更新:2021-11-21 16:56:58 手机定位技术交流文章
一. 购买了云服务器,向用户发放了公共网络上的IP地址以及自动指定的内联网IP地址,这两个地址都可以在服务器管理设置中访问。
2. 创建UDP或TCP地址和云服务器上的端口是为了让防火墙允许客户访问云服务器;否则他们就无法互动。
Quake Clouds: 运用规则轻度应用服务器 - 服务器 - 防火墙
添加自定义应用程序类型、客户端地址IP(例如任何种类)、 UDP 协议规则,以及允许服务器接收端口的政策,即客户端将数据传送到云端服务器门户
三. 服务器使用云服务器的内联网IP来建立 Socket Socket (UDP 或 TCP 协议), 云服务器的公共网络IP 用于客户端连接和发送 。
UDP实例
客户端
public class UDPClient
{
private static Socket udpClient;
本文是人权监察站特别报导的一部分。
public void CreateUDPClient()
{
/1,做一个插座
udpClient = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
2, 将 IP 连接到端口号
udpClient.Bind(new IPEndPoint(IPAddress.Any, 60001));
//3,接收数据
new Thread(ReceiveMessage) { IsBackground = true }.Start();
控制台。 writeLine ("服务有枪..");
}
public void SendInfo(string content)
{
byte[] data = Encoding.UTF8.GetBytes(content);
udpClient.SendTo(data, severEndPoint);
}
void ReceiveMessage()
{
while (true)
{
EndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
byte[] data = new byte[1024];
我不确定,在英语中 = udpCliet. receivefrom( data, ref 远程EndPoint);// 此函数将数据源( ip:port) 指定为第二个参数 。
string message = Encoding.UTF8.GetString(data, 0, length);
对不起,信息框。 显示 (“ 来自 ip : ” ) + ( 远程Endpoint 作为 IPENDPoint ) 。 端口 + “ 收到的数据 : ” + 信息 ;
}
}
}
服务器
public class UDPServer
{
private static Socket udpServer;
public EndPoint clientPoint;
public void CreateUDPServer()
{
try
{
/1,做一个插座
udpServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
2, 将 IP 连接到端口号
请接受我的道歉, UdpServer.BIND(新的 IPENDPoint)。
//3,接收数据
new Thread(ReceiveMessage) { IsBackground = true }.Start();
对不起,留言盒。 show ("服务开始..");
}
catch(Exception ee)
{
MessageBox.Show(ee.ToString());
}
}
public void SendInfo(EndPoint client)
{
try
{
udpServer.SendTo(new byte[] { 0x11, 0x22 }, client);
}
catch (Exception ee)
{
MessageBox.Show(ee.ToString());
}
}
public void SendInfo(string content)
{
try
{
byte[] data = Encoding.UTF8.GetBytes(content);
udpServer.SendTo(data, clientPoint);
}
catch(Exception ee)
{
MessageBox.Show(ee.ToString());
}
}
void ReceiveMessage()
{
try
{
while (true)
{
EndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
byte[] data = new byte[1024];
我不确定您在说什么。 接收源( 数据, ref 远程EndPoint); // 此函数将数据源( ip:port) 放在第二个参数上 。
string message = Encoding.UTF8.GetString(data, 0, length);
SendInfo(remoteEndPoint);
clientPoint = remoteEndPoint;
对不起,信息框。 显示 (“ 来自 ip : ” ) + ( 远程Endpoint 作为 IPENDPoint ) 。 端口 + “ 收到的数据 : ” + 信息 ;
}
}
catch(Exception ee)
{
MessageBox.Show(ee.ToString());
}
}
}
本文由 在线网速测试 整理编辑,转载请注明出处。