PB 電子会議室
カテゴリ:PowerBuilderの開発環境
日付:2001年06月22日 10:53 発信者:Rt
題名:RE(11):PB7.0: Socket通信 recvのロジックについて
Takaさん、こんにちは。
えーと、説明が不足していたようです。
3000Byteというのはあくまで例であって実際にchk型の構造体を受け取るときは12Byteのコピーを行っています。
>Rtさん、こんにちは。
>
>前の発言を見ると、MemCopyにより char[3000]の先頭アドレスから3000バイトぶんを chk構造体にコピーしている
>ようですが・・・
>
>>chk型
>>typedef struct {
>> int total ;
>> int assign ;
>> int space ;
>>} CHK_BUF ;
>>
>>なにか参考になったでしょうか?
>
>この構造体のサイズは(intをlongとしているならば)12バイトですね。
>受け取り側が 12バイトしかないのに、3000バイトの固定長メモリブロックをコピーしようとすれば
>アドレス例外で落ちるのは当然ではないでしょうか。
>
>MemCopyするバイト数は、受け取り側のサイズに合わせるようにしましょう。
>
>ちなみに、計算したら cmd構造体は2408バイト,rsp構造体は2204バイト になりました。
あれ?cmdは2440くらいだったような。。。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Sybase SQL Anywhere Server
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.