C# Socket通讯连接测试

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;
        }

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值