type
PClientRecord = ^ClientRecord;
ClientRecord = record
Usercd : string[12];
UserID : string[12];
E164 : string[9];
NICK : string[12];
CamCheck : string[1];
if PacketDetail.Strings[0] = 'CONN' then
begin
for j:=0 to ServerSocket.Socket.ActiveConnections - 2 do begin
(PClientRecord(Socket.Data)).Usercd := PacketDetail.Strings[1];
(PClientRecord(Socket.Data)).UserID := PacketDetail.Strings[2];
(PClientRecord(Socket.Data)).E164 := PacketDetail.Strings[3];
(PClientRecord(Socket.Data)).NICK := PacketDetail.Strings[4];
end
위에 처럼 서버에 클라이언트가 접속을 하면 PClientRecord 카운트에
접속을 하겠져
테스트 하기 위해서
for 0:=1 to 100 do
(PClientRecord(Socket.Data)).Usercd := PacketDetail.Strings[1];
(PClientRecord(Socket.Data)).UserID := PacketDetail.Strings[2];
(PClientRecord(Socket.Data)).E164 := PacketDetail.Strings[3];
(PClientRecord(Socket.Data)).NICK := PacketDetail.Strings[4];
end
하고 나서
클라이언트가 요청을 하면 접속자 리스트를 요청을하면
ServerSocket.Socket.Connections[j].SendBuf(PClientRecord,SizeOf(PClientRecord));
으로 해서 보내거든요. 위에 것처럼 보내는건지도 모르겠어요
제가 제대로 보내는건지.!
위에 것처럼 보내니가 접속자 리스트100명이 PClientRecord 들어가 있을텐데
사이즈 보면
size := ServerSocket.Socket.Connections[j].SendBuf(PClientRecord,SizeOf(PClientRecord));
보면 4 로 나오거든요
그리고 SizeOf(PClientRecord) 전체 사이즈 구하는 방법좀알려주세요
제가 포인터 쪽 프로그램은 처음이라서 포인터도 잘모르고...
제가 잘못한건 같은데 고수님들 좀 알려주세요
그리거 PClientRecord 안에 들어있는 접속자들의 테이타를 보낼수있게 되면
1024byte 쪼개서 싶은데 어떻게 하면 될가요
조언이나 좋은 답변 부탁드립니다
지금은 다 SendText와 ReceviText 넌블럭킹 기반으로 다 하고 잇습니다..!
그래서 스트림과 버퍼로 해서 어떻게 하면 보낼수 있을꺼 같은데
초보다 보니 전현 감도 안오고 정말 저 죽기 일보직전입니다
도와주세요..!