首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

socket函数里有两个sendbuf的是那个函数?解决思路

2013-01-05 
socket函数里有两个sendbuf的是那个函数?本帖最后由 sungog 于 2010-11-14 11:50:36 编辑IDA分析一个调用,

socket函数里有两个sendbuf的是那个函数?
本帖最后由 sungog 于 2010-11-14 11:50:36 编辑 IDA分析一个调用,里面有两sendbuf,第一sendbuf说明数据的大小,第二个send发送数据
请问socket中有那个函数是这样的,sendto吗?请指导一下,谢谢!
int __usercall sub_840734<eax>(int a1<eax>, int a2<edx>, int a3<ecx>, int a4<ebp>)
{
  int v5; // esi@1
  int v6; // edi@1
  int v7; // ebx@1
  int v8; // [sp+0h] [bp-14h]@1

  v5 = a3;
  v6 = a2;
  v7 = a1;
  v8 = a3;
  Scktcomp__TCustomWinSocket__SendBuf(*(_DWORD *)(a1 + 144), &v8, 4);
  Scktcomp__TCustomWinSocket__SendBuf(*(_DWORD *)(v7 + 144), v6, v5);
  return a4;
}

又找了一下资料,这个应该是自定义的TMyClientSocket 组件,
[解决办法]
socket api中没有这样的函数。
可能是MyClientSocket里的!
[解决办法]
int send( SOCKET s,      const char FAR *buf,      int len,      int flags ); 

WSASend 方法能在重叠socket上发送。
int WSAAPI WSASend ( SOCKET s, LPWSABUF lpBuffers,
          DWORD dwBufferCount, LPDWORD lpNumberOfBytesSent,
          int iFlags, LPWSAOVERLAPPED lpOverlapped,
          LPWSAOVERLAPPED_COMPLETION_ROUTINE
          lpCompletionRoutine );


[解决办法]
基于TCP的是send(...)和WSASend(...)
基于UDP的是sendto(...)和WSASendto(...)

热点排行