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

socket函数里有两个sendbuf的是那个函数?该如何处理

2012-03-18 
socket函数里有两个sendbuf的是那个函数?IDA分析一个调用,里面有两sendbuf,第一sendbuf说明数据的大小,第

socket函数里有两个sendbuf的是那个函数?
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(...)

热点排行