用TcpListener 怎样实现客户端向服务端发送mp3文件?服务端怎么接收和保存这个mp3
用TcpListener 怎样发送一个对象,假如我在客户端创建了一个用户对象,包含了姓名,年龄等等的信息,怎样把这个对象发送的服务端上?怎样把文件读取成NetworkStream可以发送的流?
用TcpListener 怎样发送一个对象,假如我在客户端创建了一个用户对象,包含了姓名,年龄等等的信息,怎样把这个对象发送的服务端上?怎样把文件读取成NetworkStream可以发送的流?
解决方案 »
- winform 用户自定义控件实现工具栏式的增删改功能
- C#的虚函数机制 提问(区分c++)
- 如何在cs文件的线程中使用Session
- 求助 怎么察看谁在msn阻止了我
- 调试时出现线程锁定
- 将一段java代码转为c#代码(C#编码转换的问题)
- c#的b/s程序,连接access数据库?
- 我的SQL怎么不执行呀,大家帮我看看
- wpf 如何获取集合类中的某一元素
- 公共构造方法是什么意思啊?
- 请问:怎样快速得到 <input onclick="javascript:saveNode('1228280318057838');" type="button" value="保存">那个onclick里面的字符串?
- 如何把输出赋值给变量
//在能够读取的字符串的总字节数大于BufferSize的时候会出现字符串截断现象,因为缓存中的数目总是有限的,而对于大对象,比如说图片或者其它文件来说,则必须采用“分次读取然后转存”这种方式
// "分次读取然后转存"的方式获取字符串
byte[] buffer = new byte[1024];
int bytesRead; // 读取的字节数
MemoryStream msStream = new MemoryStream();
do
{ bytesRead = streamToClient.Read(buffer, 0, BufferSize);
msStream.Write(buffer, 0, bytesRead);
} while (bytesRead > 0);
buffer = msStream.GetBuffer();
string msg = Encoding.Unicode.GetString(buffer);
这是在server接受数据的哈,在client端类似.
2. 用TcpListener 怎样发送一个对象,假如我在客户端创建了一个用户对象,包含了姓名,年龄等等的信息,怎样把这个对象发送的服务端上?
由于TcpListener 发送的只是一种编码后的数据,不会考虑数据的具体什么内容,所以建议使用WCF的方式处理这个对象.如果实在想用这种方式的话,就要看这个对象的大小了,大的话类似上面,否则的话直接传送数据即可.
3. 怎样把文件读取成NetworkStream可以发送的流?
string msg = "test send message";//这里可以是你读取的文件的信息.
NetworkStream streamToServer = client.GetStream();
byte[] buffer = Encoding.Unicode.GetBytes(msg); // 获得缓存,既是你说的把文件读取的信息转化为可以发送的流.
streamToServer.Write(buffer, 0, buffer.Length); // 发往服务器
Console.WriteLine("Sent: {0}", msg);如果楼主还是不清楚,请多看看基础知识.希望上面的对你有帮助.
http://blog.csdn.net/lgg228tao/archive/2008/11/26/3378963.aspx