用C#简单做了一个socket客户端,发送一串字符,代码是网上四处都能搜索到的
  String ip="xxx.xxx.xxx.xxx";
  String port="xxxxx";
  IPAddress serverip=IPAddress.Parse(ip);
  int serverport=Convert.ToInt32(port);
  IPEndPoint iep=new IPEndPoint(serverip,serverport);
  Socket socket=new Socket  (AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
  socket.Connect(iep);
  byte[] bytemessage=Encoding.ASCII.GetBytes("aaaaaaaaaaaaad");
  socket.Send(bytemessage);
  socket.Shutdown(SocketShutdown.Send);
  socket.Close();
服务端原来是用delphi做的,测试后发现服务端有反应,表示接收到,但显示出来的字符是空的.
我用delphi做的客户端发送数据,服务端是可以正常显示的.
各位达人,请教一下,这会是什么问题?

解决方案 »

  1.   


    socket.Connect(iep);
    之后,通过Connected属性判断一下是否连接上了
      

  2.   

    这是服务端的代码,delphi的,用的indy的控件  
    with AThread.Connection do
      begin
       s:=readln;
      //memo1.Lines.Add(formatdatetime('yyyymmdd hh:nn:ss',now)+' '+s);
      showmessage(s);
      Disconnect;
      end;
    showmessage跳出提示框,s是读到的信息.
    提示框已经跳出来了,但内容是空的.
      

  3.   

    服务端我只是模拟的
    试试socket成功了没有
    正式用的时候,我这边只做客户端,服务端是对方提供的ip,端口
    所以我对收到的东西没必要处理,只是看看是否能发送成功.
    我用来用delphi做,直接发送一串字符过去就可以的了