[求助]socket 编程问题,也许这里有人用过
vc环境下,采用TCP,服务器/客户端,服务器用send()发送数据,客户端用recv()接收数据。比如我模拟发送数据包,一个数据包有256组数据,一组数据有5个字节,把这256组数据放到send_buffer[]里,然后send(send_buffer),客户端用recv接收,也是放到数组里,recv_buffer[].
比如我有500组数据,那分成两个包发送,一个256组,一个244组。客户端可以接收。
但是如果每个包含100组数据,分成4个包发送,发送到第4个包的时候,程序就出错(服务器端显示出错);每个包含300组数据,或者255组数据,或者每个包含126组数据,都不会出错。
也就是每个包含的数据少到一定程度,发送的数据包多一点的时候,程序就出错了。为什么呢?
出错显示:DL92Svr.exe 中的 0x00403d95 处未处理的异常: 0xC0000005: 读取位置 0xcd42a69a 时发生访问冲突
[此贴子已经被作者于2006-9-10 15:21:00编辑过]