Q&A

  • Record에 접속자리스트를 저장하고있고 이걸 ServerSocket으로 보낼때 어떻게 보내야 하나요 알려주세요
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 넌블럭킹 기반으로 다 하고 잇습니다..!

그래서 스트림과 버퍼로 해서 어떻게 하면 보낼수 있을꺼 같은데

초보다 보니 전현 감도 안오고 정말 저 죽기 일보직전입니다

도와주세요..!
0  COMMENTS