18,356
社区成员
发帖
与我相关
我的任务
分享
str := Edit1.Text + chr($D);
new(PerIoData);
for k:= 1 to Length(str) do
PerIoData.Buffer[k-1] := str[k];
ZeroMemory(@(PerIoData.Overlapped), sizeof(OVERLAPPED));
PerIoData.Overlapped.hEvent := WSACreateEvent();
PerIoData.DataBuf.buf := @PerIoData.Buffer;
PerIoData.DataBuf.len := DATA_BUFSIZE;//length(str);
PerIoData.IOType := ioWrite;
if (WSASend(m_socket, @(PerIoData.DataBuf), 1, @SendBytes, 0, @(PerIoData.Overlapped), nil) = SOCKET_ERROR) then
begin
if (WSAGetLastError() <> ERROR_IO_PENDING) then
begin
self.Memo1.Lines.Add('WSASend() failed with error');
end;
end;