我现在在写一个聊天程序,用JAVA写中间层服务器,用DELPHI来写客户端,DELPHI用WINSOCK API来写,我的客户端可以连上服务器,但是CLIENT发的消息服务器收不到,服务器发的消息客户端也收不到,客户端没问题,我想可能是服务器用的类的问题吧
我用了两组试过都不行,分别是:
一、BufferedReader
  PrintWriter
二、BufferedInputStream
  BufferedOutputStream
有没有高手愿意写一个简单的例子帮帮我,要DELPHI和JAVA都有的,分不够可以再加!!!!

解决方案 »

  1.   

    procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    var
      i,k,gs:integer;
      strip:string;
    begin  statusbar1.Panels.Items[0].Text:=' Delete one client from server !';
      gs:=listview1.Items.Count-1;
      strip:=socket.RemoteAddress;
      for k:=0 to listview1.Items.Count-1 do
        begin
          if  (listview1.Items.Item[k].SubItems.Strings[1]=socket.RemoteAddress) and(listview1.Items.Item[k].SubItems.Strings[2]=inttostr(socket.RemotePort)) then
            begin
              listview1.Items.Item[k].Delete();    //删除退出的客户端
              //重新刷新列表
              for i:=0 to  (listview1.Items.Count-1) do
                begin
                  listview1.Items.Item[i].Caption:=inttostr(i);
                end;
              exit;
              RichEdit1.Lines.Insert(0,'--------------------------------------------------------------------------------------');
              RichEdit1.Lines.Insert(0,'客户端 '+socket.RemoteAddress+' 在'+datetimetostr(now)+' 已断开连接!');
              statusbar1.Panels.Items[0].Text:=' A client logout  from server !';
            end;
        end;
    end;
      

  2.   

    由于DELPHI的消息驱动机制,必须再ClientSock的OnConnect事件里发送消息。我猜你可能在别处调用的 ClientSocket.Socket.SendText(...) or ClientSocket.Socket.SendBuf(...)
      

  3.   

    不是的啦,我用的是WINSOCK API写的,现在DELPHI写的客户端测试没有问题,但是JAVA端写的服务器有问题,我想求的是一个JAVA和DELPHI通信的源码,有没有高手愿意给帮忙的
    100分,不够的可以再给,最好是用BYTE发送,我的email:[email protected]