首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

C#编写的socket服务器如何发数据给android手机

2012-06-15 
C#编写的socket服务器怎么发数据给android手机?我现在的问题是,android手机能通过socket连接到服务器,而且

C#编写的socket服务器怎么发数据给android手机?
我现在的问题是,android手机能通过socket连接到服务器,而且服务器也能接收到android手机发送来的数据,但是服务器收到数据之后发送数据给android手机,然后android就收不到数据了;
以下是android手机上发送文件名并且得到文件大小的代码

Java code
// 向服务器提出下载请求,返回下载文件的大小      private long request(String fileName, String password) throws IOException {          // 获取socket的输入流并包装成DataInputStream          DataInputStream in = new DataInputStream(socket.getInputStream());          // 获取socket的输出流并包装成PrintWriter          PrintWriter out = new PrintWriter(new OutputStreamWriter(                  socket.getOutputStream()));          // 生成下载请求字符串          String requestString = fileName;// + "@ " + password;          System.out.println("发出下载请求:"+fileName);        out.println(requestString); // 发出下载请求          out.flush();         return in.readLong(); // 接收并返回下载文件长度      }  


以下是C#服务器收到android发来的文件名,知道文件之后发送文件大小和文件的代码
C# code
private string ReceiveFileName()        {            string recvStr = "";            byte[] recvBytes = new byte[1024];            int bytes = m_socket.Receive(recvBytes, recvBytes.Length, 0); //从android客户端接受信息            recvStr = Encoding.ASCII.GetString(recvBytes, 0, bytes);            Console.WriteLine("文件名"+recvStr);            return recvStr;//返回文件名        }        private void SendFile()        {            while (m_IsStart)            {                string fileName = ReceiveFileName();                if (fileName != "")                {                    if (File.Exists(m_FileDirect + "1.jpg"))//下载本地存在的一个文件                    {                        FileInfo fi = new FileInfo(m_FileDirect + "1.jpg");                        byte[] len = BitConverter.GetBytes(fi.Length);                        m_socket.Send(len);//发送文件的长度                        //发送文件                        try                        {                            m_socket.SendFile(m_FileDirect + "1.jpg");                        }                        catch (Exception e)                        {                            Console.WriteLine("出现错误" + e.Message);                        }                    }                }             }        }


[解决办法]
你在手机那个代码中有接收回写的代码吗....
[解决办法]
探讨

引用:

你在手机那个代码中有接收回写的代码吗....

Java code

// 获取socket的输入流并包装成DataInputStream
DataInputStream in = new DataInputStream(socket.getInputStream());



这个不就是接收的地方吗?在第一段代码中

热点排行