我现在把结构体,序列化后再转换成byte数组,发送过去,但是对方接口只看到我连接上去了,没有收到任何数据,
我在本机测试,是可以发送和接收到数据的,请问各位大侠会是什么原因????我应该怎么定位这个问题????

解决方案 »

  1.   

    用的TCP ?贴点代码上来 不然谁知道怎么回事
      

  2.   

     private void BeginSend()
            {
                //IP and Port
                string ip = this.txtip.Text;
                string port = this.txtport.Text;           
                IPAddress serverIp = IPAddress.Parse(ip);            int serverPort = Convert.ToInt32(port);            IPEndPoint iep = new IPEndPoint(serverIp, serverPort);            byte[] byteMessage;            
                try
                {
                    Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);                socket.Connect(iep);               //序列化,转成byte数组               
                   byteMessage = getData();
                   
                   //发送
                    int i = socket.Send(byteMessage);
                   //关闭socket
                    socket.Shutdown(SocketShutdown.Both);
                   socket.Close();
                }
                catch (Exception ex)
                {
                    //MessageBox.Show(ex.ToString());
                    WriteLog("发送失败" + ex.ToString());
                }
               
            }
      

  3.   

    看下 int i = socket.Send(byteMessage);这句里面的I返回值是多少,如果为0的话表示发送不成功,如果不为0那么则应该检查服务器端的代码问题,最好把服务器端接收代码发出来看看!