• donet的Socket通信问题

  • 本文关于 c#
  • CodeGo.net > donet的Socket通信问题
  •  

    donet的Socket通信问题



    c#
    我现在做一个项目,用donet写一端通信程序,而另一端则是用vc写的程序
    vc那一端的代码表单
    void StartBilling()
    {
    char szPacket[256];
    int nPacketNum = 6;
    int nSize = 0;
    memset( &szPacket, 0, 256 );
    memcpy( &szPacket[0], &nPacketNum, sizeof( int ) );
    nSize += sizeof( int );
    memcpy( &szPacket[nSize], &g_ServerNum, sizeof( int ) );
    nSize += sizeof( int );

    send( g_BillSocket, szPacket, nSize, 0 );
    }
    而我以前在dotnet写的程序,
    int intByteCount =clientSocket.Receive(bytReceive);
    strDataReceive= Encoding.UTF8.GetString(bytReceive,0,intByteCount);
    可是这样并不能解析出那边发过来的信息字段
    应该如何解析出里面的字段信息:而发送的信息也和那边的信息类似的格式呢?
    这非常,拉
    本文地址 :CodeGo.net/1106164/
    -------------------------------------------------------------------------------------------------------------------------
    1.我发现一个严重的错误哈
    int intByteCount =clientSocket.Receive(bytReceive);
    strDataReceive= Encoding.UTF8.GetString(bytReceive,0,intByteCount);
    怎么可以这样,应该循环读才对,不能转换成GetString,不过我想你其他部的Socket的实现方法,我想用的是异步的Socket
    2. 有趣,我做的也是客户端端VC,服务器端C# CodeGo.net,猴子海风加我QQ
    24456406
    Msn :  交流
    3. 我这边是通过流操作的,但我看你现在是不知道如何解析得到的bytes。我想你是缺少一套通信命令机制,所以无法解析。你可以先定义出一套通信命令,比如
    连接号(8位)+命令类型{4位}+信息长度{8位}+信息
    注:位数我随便定的,你可自己再加考虑,连接号是用来区多个客户端端,命令类型用来处理不同的信息和响应等等 两边都遵循规则,这样一旦建立连接后,可以连续不断的进行通信。数据也不会混淆。
    本文标题 :donet的Socket通信问题
    本文地址 :CodeGo.net/1106164/
    1. DataSet中错误要么InvalidConstraintException或不能在不同的数据集表之间的关系
    2. 那位知道在PDA上编程?
    3. 不同类型与通用基类的返回列表
    4. 如何让.Net程序运行后删除自己??
    5. 解析类型层次结构的装配
    6. C# 如何调用Win32 API?
    7. “FormatException是未处理”而程序没有计算结果
    8. c# 里怎么使用 CreateObject
    9. 错误的ObjectDataSource找不到一个非泛型方法
    10. 知道excel文件名,路径,sheet名,怎样用windows程序(c#)改变excel文件指定行的颜色?

     
    

    Copyright © 2017 CodeGo.net
    http://codego.net/xinwen/ 足球比分网 足球比分 医药招商网 邵阳县新闻