Asp.Net项目与TCP服务端交互

本文介绍了一个使用C#实现的TCP Socket通信示例,包括客户端如何连接到服务器、发送消息及接收响应的过程。示例中详细展示了如何将字符串转换为字节数组进行发送,并接收服务器反馈。
    private void SocketSend(string sendstr)
    {
        //将字符串转换成字节数组
        Byte[] fsSize = System.Text.Encoding.Default.GetBytes(sendstr);

        //创建发送数据的Socket
        Socket sendsocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);

        //设置发送数据的地址  
        IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 10001);

        try
        {
            //连接TCP服务端
            sendsocket.Connect(endPoint);
            if (sendsocket.Connected)//连接成功
            {
                //发送数据
                int length = sendsocket.Send(fsSize);

                //接收返回的数据
                byte[] reutrns = new byte[1024];
                //设置接收超时的时间 如果超出会报SocketException 错误
                sendsocket.ReceiveTimeout = 1800;
                while (true)
                {
                    //返回接收到数据的长度
                    int reLength = sendsocket.Receive(reutrns, 0, sendsocket.Available, SocketFlags.None);
                    if (reLength>0)//如果接收到数据
                        break;
                }

                //将返回的字节转换为string 类型
                string ss = System.Text.Encoding.UTF8.GetString(reutrns);
                //判断如果回复的字节正确"ok"
                if (ss == "ok")
                {                  
                    //执行操作
                }
            }
            else
            {
               //连接失败 记录日志
            }        
        }
        catch (SocketException ex)
        {
            int exint = ex.ErrorCode;//分析返回错误码 并记录
        }
        finally {
            //关闭发送数据的Socket
            sendsocket.Shutdown(SocketShutdown.Send);
            sendsocket.Close();
        }
    }

  

转载于:https://www.cnblogs.com/lnice/p/7234112.html

非常好用的C#.netTCP控件,this.vmTcpIpServer1.Collapse = false; this.vmTcpIpServer1.EnableLog = false; this.vmTcpIpServer1.IdleTime = -1; this.vmTcpIpServer1.LocalUsingIpAddr = "127.0.0.1"; this.vmTcpIpServer1.Location = new System.Drawing.Point(9, 17); this.vmTcpIpServer1.LogFilePath = "D:\\AppLog"; this.vmTcpIpServer1.MaxLogShownLines = 30; this.vmTcpIpServer1.Name = "vmTcpIpServer1"; this.vmTcpIpServer1.PackageHeader = UNYC.TcpIp.PackageHeader.None; this.vmTcpIpServer1.PackageTailer = UNYC.TcpIp.PackageTailer.None; this.vmTcpIpServer1.PortNum = 30000; this.vmTcpIpServer1.SaveToLogFile = false; this.vmTcpIpServer1.ShowTransContents = false; this.vmTcpIpServer1.Size = new System.Drawing.Size(266, 405); this.vmTcpIpServer1.TabIndex = 0; // // vmTcpIpClient1 // this.vmTcpIpClient1.AutoRecover = false; this.vmTcpIpClient1.Collapse = false; this.vmTcpIpClient1.ConnRetries = -1; this.vmTcpIpClient1.EnableLog = false; this.vmTcpIpClient1.IdleTime = -1; this.vmTcpIpClient1.IpAddr = "192.168.100.231"; this.vmTcpIpClient1.Location = new System.Drawing.Point(311, 17); this.vmTcpIpClient1.LogFilePath = "D:\\AppLog"; this.vmTcpIpClient1.MaxLogShownLines = 100; this.vmTcpIpClient1.Name = "vmTcpIpClient1"; this.vmTcpIpClient1.PackageHeader = UNYC.TcpIp.PackageHeader.None; this.vmTcpIpClient1.PackageTailer = UNYC.TcpIp.PackageTailer.None; this.vmTcpIpClient1.PingInterval = 500; this.vmTcpIpClient1.PortNum = 912815; this.vmTcpIpClient1.SaveToLogFile = false; this.vmTcpIpClient1.ShowTransContents = false; this.vmTcpIpClient1.Size = new System.Drawing.Size(266, 405);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值