Tag: sockets

你如何发现TCPListener服务的IP地址?

从LAN上的另一台计算机向TcpListener服务发送消息时,您需要知道服务器的IP地址和端口。 该端口很可能已经知道,因为您可能已经选择了该端口,但如果IP地址可能不同,您是否可以通过某种方式发现该IP地址。 在我看来,您需要通过另一种方法向发件人提供此信息。

使用套接字时发送当前值的Unity延迟

Visual Studio中的client.cs。 private void SendToServer(string HeartRate) { SetHRTest(HeartRate); try { s = client.GetStream(); StreamReader sr = new StreamReader(s); StreamWriter sw = new StreamWriter(s); sw.AutoFlush = true; sw.WriteLine(HeartRate); } finally { if(Environment.HasShutdownStarted) { s.Close(); client.Close(); } } } Unity中的server.cs using UnityEngine; using System.Collections; using System.Net.Sockets; using System.IO; using System.Net; using System.Threading; public class Server { public […]

在C#中如何使用TcpClient在远程SSH上运行unix命令

我试图从我的C#应用​​程序在远程主机上运行UNIX命令。 我已经看到各种各样的post,包括SO,使用各种库,如SmartSsh,以及其他许多人。 还有一些人使用命令行命令。 我不想使用任何第三方库。 因此,我尝试使用TcpClient类,其示例显示在MSDN上 。 我传递的主机名为: user @ servername和port 22 。 当我运行此代码时,它会产生exception SocketException (0x80004005): No such host is known at System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port) 是因为我的服务器/主机需要用户密码,如果是,那么我该如何提供呢?

在Send()之后的UdpClient,Receive()不起作用?

请考虑以下代码: client.Send(data, data.Length, endpoint); byte[] response = client.Receive(ref endpoint); 虽然根据WireShark(网络嗅探器),远程主机确实回复数据,但这里的应用程序只是永远等待数据……由于某种原因,它没有从远程主机接收答案。 有任何想法吗?

C# – 使用SSL保护`套接字`

嗨我有一个套接字连接(服务器)与可用的方法开发 using System.Net.Sockets; using System.Net; 是否可以在此套接字中保护数据通信? 专门实施SSL ? 任何例子?

是否可以使用HttpWebRequest更改标题顺序?

我需要更改标题的顺序,我正在使用它: HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); request.Method = context.Request.HttpMethod; request.UserAgent = context.Request.UserAgent; 输出是: GET /* HTTP/1.1 User-Agent: My Server Host: 127.0.0.1:1080 但它应该是 GET /* HTTP/1.1 Host: 127.0.0.1:1080 User-Agent: My Server 有任何想法吗? 谢谢你的时间。 编辑:也许有一种方法使用其他对象……它也是一种选择

C#套接字和multithreading

我想了解更多有关c#中的套接字和线程的信息。 我在网上遇到了很多很好的资源,以帮助我入门。 我到目前为止制作的程序是一个简单的“中间人”应用程序。 它的设计如下:client [application] server 鉴于以下代码,如何防止此线程以100%CPU运行? 如何让线程等待和阻塞数据,而不是在客户端/服务器空闲时退出? while (true) { lock (ClientState) { checkConnectionStatus(client, server); } if (clientStream.CanRead && clientStream.DataAvailable) { Byte[] bytes = new Byte[(client.ReceiveBufferSize)]; IAsyncResult result = clientStream.BeginRead(bytes, 0, client.ReceiveBufferSize, null, null); int size = clientStream.EndRead(result); sendData(bytes, serverStream, size); } if (serverStream.CanRead && serverStream.DataAvailable) { Byte[] bytes = new byte[(server.ReceiveBufferSize)]; IAsyncResult result […]

当服务器和客户端在同一台计算机上时,收听广播

在晚上度过了更好的一部分后,我无法使其发挥作用。 这是我正在做的事情: 这是一个由一个参与者托管并由其他玩家加入的网络游戏。 主持人自己也是一名球员。 用户单击“主机”按钮开始在UDP上做广告。 其他用户可以看到所有可用主机的列表,并选择一个加入。 作为入门者,我下载了NetworkHelper库来研究UWP中的网络工作方式。 该库提供了我分别用于Host和Player类的UDPManager和UDPParticipant类。 该库还包括一个小问答游戏样本。 我的架构和游戏之间唯一的重大变化是我的一个玩家需要充当主机和玩家,而示例游戏可以一次充当主机或玩家。 因此,与它们不同,我需要同时监听两个DatagramSocket对象。 一切正常,除了(grrr ……为什么除了总是在拐角处),主机上运行的客户端无法收听广告消息。 DatagramSocket告诉我,对于相同的网络地址(协议/主机/端口),我不能有多个用法。 如果我为服务器和客户端使用不同的端口(下面是AdvertiserPort和ListenerPort ),则没有exception,但客户端从不接收广告消息。 这是服务器(仅包括相关代码): AdvertiserSocket = new DatagramSocket(); AdvertiserSocket.MessageReceived += MessageToConnectReceivedFromParticipantAsync; await AdvertiserSocket.BindServiceNameAsync(AdvertiserPort); _timer = new Timer(async state => await SendMessageAsync(), null, 0, AdvertiserInterval); 和广告: private async Task SendMessageAsync() { Stream outStream = (await AdvertiserSocket.GetOutputStreamAsync(AdvertiserGroupHost, AdvertiserPort)).AsStreamForWrite(); using (var writer = new StreamWriter(outStream)) […]

C#为什么不“刷新”强制网络流中的字节?

我有一个项目,我正在尝试将序列化对象发送到服务器,然后等待“OK”或“ERROR”消息返回。 我似乎遇到了类似的问题: TcpClient发送/关闭问题 问题是,我似乎能够发送原始对象的唯一方法是关闭连接,但然后(当然)我迫不及待地想看看服务器是否成功处理了对象。 private void button4_Click(object sender, EventArgs e) { RequestPacket req = new RequestPacket(); /// … Fill out request packet … /// Connect to the SERVER to send the message… TcpClient Client = new TcpClient(“localhost”, 10287); using (NetworkStream ns = Client.GetStream()) { XmlSerializer xml = new XmlSerializer(typeof(RequestPacket)); xml.Serialize(ns, req); /// NOTE: This doesn’t […]

C#.Net中的TCP / IP客户端套接字程序使用IP地址和端口号

TCP / IP客户端套接字程序。 这里我的主要要求是客户端发送消息和服务器接收消息并存储在C#.Net的数据库表中,使用服务器IP地址和端口号。