当前位置: 代码迷 >> 综合 >> C# Socket通讯连接测试
  详细解决方案

C# Socket通讯连接测试

热度:88   发布时间:2023-11-02 11:35:44.0

Socket通讯运行情况分为两种:

  1. 客户端和服务器端同时运行在一台电脑上,这种情况下客户端和服务器端的ip地址得需要是建立在如:127.0.0.1的环网上,端口号建议设置为3000以上,否则设置的IP地址是无效的。
  2. 这种情况是客户端和服务器端分别运行在不同的电脑上:将网线连接上两台电脑,接着需要完成的是本地ip的设置,例如服务器的本地IP设置为192.168.1.20,那么本地的IP地址就是服务器的IP地址,接着客户端的IP地址需要和服务器的IP地址保证在同一网段之内,如:192.168.1.30.  接下来便可以测试一下网络是否连通。使用ping 命令符。

测试过程中的异常:

  1. 在使用ping命令时遇到提示通讯超时,这种情况就需要我们将两台电脑上的防火墙关闭即可。
  2. 如遇到IP不存在即需要查看IP设置和网线情况了。

通讯内容格式:

ASCII码:

这种就是字符串的格式,通过socket的字节的方式发送出去,通常应用在 Ethernet以太网的通讯上,通讯方式简单方便,协议内容自己随意定制,个性十足。

HEX(16进制):16进制通常应用在modbus tcp的通讯协议上,或者284 ,232等的通讯协议上,采用的是标准的以太网报文格式,发送方式感觉较为繁琐,需要进行字符转换,计算校验符。

以下是字符串转16进制:

private static byte[] HexStrTobyte(string hexString){hexString = hexString.Replace(" ", "");if ((hexString.Length % 2) != 0)hexString += " ";byte[] returnBytes = new byte[hexString.Length / 2];for (int i = 0; i < returnBytes.Length; i++)returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2).Trim(), 16);return returnBytes;}

详细的通讯方式和代码可以查看我之前的文章。

  相关解决方案