本文整理汇总了C#中ByteBuffer.length方法的典型用法代码示例。如果您正苦于以下问题:C# ByteBuffer.length方法的具体用法?C# ByteBuffer.length怎么用?C# ByteBuffer.length使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ByteBuffer
的用法示例。
在下文中一共展示了ByteBuffer.length方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Adler32
public static uint Adler32(ByteBuffer data, uint start, uint len)
{
if (start >= data.length())
{
start = (uint) data.length();
}
if (len == 0)
{
len = ((uint) data.length()) - start;
}
if ((len + start) > data.length())
{
len = ((uint) data.length()) - start;
}
uint index = start;
uint num2 = 1;
uint num3 = 0;
while (index < (start + len))
{
num2 = (num2 + data.toArray()[index]) % 0xfff1;
num3 = (num2 + num3) % 0xfff1;
index++;
}
return ((num3 << 0x10) | num2);
}
示例2: transToClientData
private static bool transToClientData(TransCenterSockets tcs)
{
Log.Info ( getSocketStr(tcs.socketServer)+ tcs.socketServer.Available);
ByteBuffer data = new ByteBuffer (tcs.socketServer.Available);
data.setTop (tcs.socketServer.Available);
tcs.socketServer.Receive (data.getArray (), SocketFlags.None);
tcs.transPortClient.isServer = false;
try {
CallBack cb = delegate {
data.position = 0;
tcs.socketClient.Send (data.getArray ());
};
tcs.transPortClient.erlConnect.transCallBack = null;
tcs.transPortClient.dataBuffer = data.Clone () as ByteBuffer;
tcs.transPortClient.receive (data, false);
if (data.length () == 10) {
data.position = 0;
tcs.transPortServer.isServer = true;
tcs.transPortServer.dataBuffer = data.Clone () as ByteBuffer;
tcs.transPortServer.receive (data, true);
}
} catch (Exception e) {
Log.Error (e.Message);
} finally {
//Log.Info ("+++++" + ports + "+++++++++++");
//if (ports!=5) {
//}
}
return false;
}
示例3: createDataByHead
protected override ByteBuffer createDataByHead(ByteBuffer head)
{
ByteBuffer buffer = new ByteBuffer ();
int b = (((0 | (this._encryption << 3)) | (this._crc << 2)) | (this._compress << 1)) | this._kv;
buffer.writeShort (head.length () + 1);
buffer.writeByte (b);
buffer.writeBytes (head.toArray ());
return buffer;
}
示例4: sendErl
public void sendErl(ByteBuffer data, int encryption, int crc, int compress, int kv)
{
if ((this._sendChallengeCode != null) && (this._sendChallengeCode.Length >= 0)) {
this._encryption = encryption;
this._crc = crc;
this._compress = compress;
this._kv = kv;
int i = 0;
ByteBuffer buffer = new ByteBuffer ();
if ((this._compress == 1) && (data.length () >= 0x40)) {
data = new ByteBuffer (ZIPUtil.Compress (data.toArray ()));
} else {
this._compress = 0;
}
if ((this._crc == 1) && (this._compress == 0)) {
i = (int)ChecksumUtil.Adler32 (data);
buffer.writeInt (i);
} else {
this._crc = 0;
}
buffer.writeBytes (data.toArray ());
if (this._encryption == 1) {
if (!this.isServer) {
buffer = this.encryptionCode (buffer, this._receiveChallengeCode);
/*string code = "";
foreach(int sc in this._receiveChallengeCode)
{
code = code + sc ;
}
//Log.Info("---this._receiveChallengeCode="+ code);
*/
} else {
buffer = this.encryptionCode (buffer, this._sendChallengeCode);
/*string code = "";
foreach(int sc in this._sendChallengeCode)
{
code = code + sc ;
}
Log.Info("---this._sendChallengeCode="+ code);
*/
}
//buffer = this.encryptionCode (buffer, this._receiveChallengeCode);
}
base.send (buffer);
//Log.Info(string.Concat(buffer.getArray()));
this._encryption = 1;
this._crc = 1;
this._compress = 1;
this._kv = 1;
}
}
示例5: createDataByHead
protected virtual ByteBuffer createDataByHead(ByteBuffer body)
{
int len = body.length();
ByteBuffer data = new ByteBuffer();
ByteKit.writeLength(data, len);
data.writeBytes(body.toArray());
return data;
}
示例6: send
public void send(ByteBuffer data)
{
if (this._active)
{
data = this.createDataByHead(data);
//Log.info(data.toArray().Length);
this.send(data.toArray(), 0, data.length());
}
}