zoukankan      html  css  js  c++  java
  • Socket处理发送和接收数据包,一个小实例:

    Socket处理发送和接收数据包,一个小实例:

    using System.Net.Sockets;

    Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    socket.Connect(ipUrl, port); //参数是接收的服务器ip地址和端口
    string strReq = "UserName=admin&PassWord=123456";
    byte[] cbReq = System.Text.Encoding.ASCII.GetBytes(strReq);
    socket.Send(cbReq);
    UInt16 sRecvBytes = 0;
    byte[] cbRecvBytes = new byte[2];
    socket.Receive(cbRecvBytes); //先接收2个字节(因为内容太长)
    sRecvBytes = System.BitConverter.ToUInt16(cbRecvBytes, 0);
    byte[] cbRecvContent = new byte[sRecvBytes];
    int nDataLen = 0;
    while (nDataLen < sRecvBytes) //判断包是否接收完
    {
        int nRet = socket.Receive(cbRecvContent, nDataLen, sRecvBytes-nDataLen, SocketFlags.None);
        if (nRet <= 0)
        {
            break;
        }
        else
        {
            nDataLen += nRet;
        }
    }
    socket.Close();
    string strText = System.Text.Encoding.GetEncoding("gb2312").GetString(cbRecvContent); //此例子中返回的是个string字符串。
  • 相关阅读:
    规矩与管理
    信息系统叫设施比叫工具更贴近本义
    让ansbile和docker愉快的在一起
    elasearch基础教程
    markdown语法
    python 实用pickle序列化
    python 解析配置文件
    ansible状态管理
    haproxy官方配置文档地址
    ansible操作模块相关
  • 原文地址:https://www.cnblogs.com/ahghy/p/2096228.html
Copyright © 2011-2022 走看看