关于Socket传送文件的问题,想将一些字符串信息和文件一起发送到接收端,应该怎么实现啊?

解决方案 »

  1.   

    不需要这么做啊,先发送一个发送命令,通知对方下一个包是文件,等对方回应准备好接收,然后再发文件。可以看看msn规范
      

  2.   

    用字节流传输,转成byte,传输中用特点的比较符割开,就可以把两个一起传输了!
      

  3.   

    private void BeginSend()
            {
                IPEndPoint iep = new IPEndPoint(IPAddress.Parse("128.0.0.9"), 9666);            byte[] byteMessage;            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                try
                {
                    socket.Connect(iep);
                }
                catch
                {
                    MessageBox.Show("无法连接服务器!");
                    return;
                }            byteMessage = Encoding.Unicode.GetBytes(textBox1.Text);
                            FileStream fs = new FileStream(textBox2.Text, FileMode.Open,FileAccess.Read);
                BinaryReader br = new BinaryReader(fs);            byte[] bySend = new byte[fs.Length-1];
                
                
                br.Read(bySend, 0, bySend.Length);            //socket.Send(bySend);
                socket.Send(bySend,
                MessageBox.Show("发送成功!");
                socket.Shutdown(SocketShutdown.Both);            socket.Close();
            }这是我写的发送文件的发送端代码,text2的内容是文件地址,text1是我所输的字符串信息,该将他们怎么整合到一起发送呢?