Tag/
共24个网摘 [
1 ] |
Whislly收录,使用标签:C#, TCP, 结构体, byte[], 传送, 转换,时间:2007-11-1 18:35:06 | 相关网摘,我也收藏
在写C#TCP通信程序时,发送数据时,只能发送byte数组,处理起来比较麻烦不说,如果是和VC6.0等写的程序通信的话,很多的都是传送结构体,在VC6.0中可以很方便的把一个char[]数组转换为一个结构体,而在C#却不能直接把byte数组转换为结构体,要在C#中发送结构体,可以按以下方法实现:
(1)定义结构体:
//命名空间
using System.Runtime.InteropServices;
//注意这个属性不能少
[StructLayoutAttribute(LayoutKind.Sequential,CharSet=CharSet.Ansi,Pack=1)]
struct TestStruct
...{
public int c;
//字符串,SizeConst为字符串的最大长度
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
public string str;
//int数组,SizeConst表示数组的个数,在转换成
//byte数组前必须先初始化数组,再使用,初始化
//的数组长度必须和SizeConst一致,例test = new int[6];
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
public int[] test;
}
(2)结构体转byte数组:
/**////
/// 结构体转byte数组
///
/// 要转换的结构体
/// 转换后的byte数组
public static byte[] StructToBytes(object structObj)
{
//得到结构体的大小
int size = Marshal.SizeOf(structObj);
http://blog.csdn.net/Whislly/archive/2007/10/13/1823478.aspx
eye_of_back收录,使用标签:scm, 服务器, 端口, 信息, 浏览器, 监控, ssotcpmonitorw, sso, tcp, ip, monitor, 代理, 拦截, 分析,时间:2007-6-9 12:01:53 | 相关网摘,我也收藏
SSOTCPMonitorW是监控浏览器HTTP访问的一个不错的小软件,对Web开发人员来说,是一个不错的辅助分析软件。
http://blog.csdn.net/eye_of_back/archive/2007/05/29/1629149.aspx
tq85收录,使用标签:网络, kxn, ADSL, TCP,时间:2006-5-29 13:19:44 | 相关网摘,我也收藏
最近北京网通的 ADSL 实在快不能忍了,到晚上就丢包率过 10% ,上个 bbs 卡得不行,于是 google 了一通,修改了几个Windows TCP的参数,以浪费带宽为代价提高响应速度(比起下载和上 bbs 来,我还是更重视 bbs 速度,我想网游一族应该也是这样)。效果似乎还可以,不知道是心理作用还是怎么回事。不过确实见不到在 bbs 上面一卡半天的现象了。这些修改都可以在 http://www.winguides.com/registry/category.php?310 找到,针对不同系统的区别也有介绍,下面只在 Windows 2003 上面测试通过,其他系统可能不是在这个注册表位置,或者根本就不支持。所有的修改都位于 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 下面,大部分都在注册表里面默认没有,需要手工添加,都是 DWORD 类型的值。1: InitialRtt这个是 Windows 对于一个 TCP 连接的初始重传超时。单位毫秒,改成 1000 ,你要改成 500 估计也问题不大。2: TcpMaxDupAcks 默认 2 , 改成 1, 单位是个,这个参数控制 TCP 快速重传,TCP 通常是在重传定时器到时的时候才重新传输某个帧,虽然重传定时器是自适应的,但是如果还算通畅的网络上面忽然丢一个,比如北京网通 ADSL 这样的,上 BBS 将会明显感到卡了一下。快速重传对这种情形很有效,它是如果看到对方发了好几个相同的 ACK 过来,就知道对方一直在等同一个包,于是 TCP 协议栈会马上重传这个包。上面提到的这个参数就是控制 Windows 看到几个重复的 ACK 时候就进行快速重传,默认是 2 ,实际指的是看到三个序列相同的 ACK。 我改成 1 。其他还有不少 TCP 调节选项,但是对这个丢包影响不是很大了。所以不在这里介绍。修改完以后需要重启一下机器生效。
http://kangkang.org/wordpress/index.php/archives/129
共24个网摘 [
1 ]