Tag: 网络编程

C#字节流通过TCP

我是一名小工程师,希望能在这里找到所有有经验的人提出的建议。 我被分配了一个项目来创建一个通过TCP进行字节流的服务器/客户端应用程序。 我们公司通过GPS和调度软件处理带有GPS的双向无线电,我们希望用它来制作服务器/客户端应用程序。 目前,调度软件可以连接到用户必须在的中央基站,但我们希望从远程位置访问该软件(如果基站距离调度员可以在几英里外的中继站) )。 用户/客户端 – >轮询麦克风的位置 – >服务器 – >基站 – > OTA信号 – >无线电和返回 我一直在关注Windows Communication Foundation,但有什么其他方法可以解决这个问题? 我将主要使用C#/ .NET / Visual Studio 2008

TCP套接字通信限制

TCP客户端可以接收的数据大小是否有限制。 使用TCP套接字通信,服务器正在发送更多数据,但客户端只获得4K并停止。

在C#中查找接口索引

如何在C#中获取连接的interace索引? 如果索引不是标准术语,我的意思是与接口关联的数字,例如当您使用命令“netsh int ipv4 show int”按左侧的索引列出您的连接时。 它也用于“路由添加[网关]掩码[索引]如果[接口索引]”。 我知道接口的名称和描述,所以使用NetworkInterface.GetAllNetworkInterfaces()然后在那里找到合适的接口是相当直接的。 从那里,我找不到索引。 我认为ID可能是相同的,但它具有“{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}”forms的值,而不是小整数值。

数组中的不同类型,如何在将它们从数组中取出时知道将它们转换为什么?

假设类型为Packet的通用List ,包含扩展Packet的自定义类,例如LoginPacket或ChatPacket 。 假设我将这些放在列表中。 当我拿出它们时,每个最“特定”的类型是Packet 。 我想把它们转换成更具体的类型,然后回到原来的LoginPacket或ChatPacket,或者回到原来的类型。 问题:我该怎么办? 参考: 如何在运行时以编程方式转换对象? 所以…似乎这些自定义类共享一个通用接口,它会解决转换问题吗? 但如果是这样,我的类不能共享一个接口。 我需要在接口和类上构建接口。 那么……我该怎么做? 对不起,如果这个问题不那么准确。 不确定如何表达我的确切问题。

使用C#中的异步套接字在任何给定时间将消息发送回客户端列​​表

我已经设置了异步服务器,它通过连接,接收和发送消息到连接客户端完美地工作。 服务器本身是游戏世界服务器(mmorpg风格)。 当用户将其位置发送到其所在的位置时,我需要使用PlayerPositionNotice将其推送到所有客户端。 我知道我在这里缺少一些基本的东西,但是当我尝试保存在accept方法中创建的StateObject,并使用该套接字在任何给定时间将信息发送回播放器时它会因套接字关闭而失败。 = /不知道为什么会发生这种情况,我会在这个问题上搜索几个引擎但是又回来了。 这就是我创建服务器的方式: 首先,我们有全球性的东西: public StateManager _stateManager = new StateManager(); public bool IsClosing = false; private const int _port = 1025; private IPHostEntry _localhost; private IPEndPoint _endpoint; private Socket _serverSocket; private Thread _serverThread; 第二个我们有初始化的东西: public void Start() { _serverThread = new Thread(Initialize); _serverThread.Start(); } /// /// Main entry point for the […]

我如何通过.NET学习我的客户端IP?

我需要从whatismyip.com我的客户端IP。 但是我认为正则表达式模式不正确? 你能帮我这个patttern吗?

C#中的可靠多播

在c#/ .Net 3.5中我有哪些可靠的多播选项? 我不想使用MSMQ。 我对商业和开源选项持开放态度。 谢谢

通过网络发送数据C#

我尝试通过网络发送一个字符串,这是我的代码: IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse(“127.0.0.1”), 25); TcpClient client = new TcpClient(serverEndPoint); Socket socket = client.Client; byte[] data = Encoding.ASCII.GetBytes(response); socket.Send(data, data.Length, SocketFlags.None); socket.Close(); client.Close(); 当我运行它时,我得到了System.Net.Sockets.SocketException

从LAN中的主机名获取IP地址

我找到了很多关于如何通过IP地址获取主机名的示例,如何获取LAN中主机的IP地址?

如何从Socket获取IP地址

我想获得一个绑定到receiveSock的IP地址。 我怎么才能得到它。 问题1: ipEndReceive = new IPEndPoint(IPAddress.Any, receivePort); receiveSock = new Socket(AddressFamily.InterNetwork , SocketType.Stream, ProtocolType.Tcp); receiveSock.Bind(ipEndReceive); 当代码达到Bindfunction时。 发生错误 无效参数,错误代码:10022,消息:提供了无效参数 问题2: ipEndReceive = new IPEndPoint(IPAddress.Parse(“127.0.0.1”), receivePort); receiveSock = new Socket(AddressFamily.InterNetwork , SocketType.Stream, ProtocolType.Tcp); receiveSock.Bind(ipEndReceive); ErrorLog.WritetoErrorlog(“\nRemote IP Address : ” + ((IPEndPoint)receiveSock.RemoteEndPoint).Address.ToString() 当我尝试这个IP。 它向我显示了与上面相同的错误