希望同看传智播客视频的朋友给我答疑解惑啊
就是客户端向服务端发送文件的时候
当收个比特数组为1就是文件传输假设客户端发的是向服务端发文件
下面是服务端代码接受方法
新起一个线程 传入套接字sok
为1文件传输
注释两行应该会跳出保存窗口的但是怎么不跳出呢 void rec(object sok)
{
while (true)
{
Socket warch = (Socket)sok;
byte[] ar = new byte[1024 * 1014 * 2];
int length = warch.Receive(ar);
if (ar[0] == 0)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();
string c = System.Text.Encoding.UTF8.GetString(ar, 1, length - 1);
mess(c);
}
else if (ar[0] == 1)
{
//SaveFileDialog sfd = new SaveFileDialog();
//if (sfd.ShowDialog() == DialogResult.OK)
{
string st = sfd.FileName;
using (FileStream sss = new FileStream(st, FileMode.Create, FileAccess.Write))
{
sss.Write(ar, 1, length - 1);
mess("ok" + st); }
}
}
就是客户端向服务端发送文件的时候
当收个比特数组为1就是文件传输假设客户端发的是向服务端发文件
下面是服务端代码接受方法
新起一个线程 传入套接字sok
为1文件传输
注释两行应该会跳出保存窗口的但是怎么不跳出呢 void rec(object sok)
{
while (true)
{
Socket warch = (Socket)sok;
byte[] ar = new byte[1024 * 1014 * 2];
int length = warch.Receive(ar);
if (ar[0] == 0)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();
string c = System.Text.Encoding.UTF8.GetString(ar, 1, length - 1);
mess(c);
}
else if (ar[0] == 1)
{
//SaveFileDialog sfd = new SaveFileDialog();
//if (sfd.ShowDialog() == DialogResult.OK)
{
string st = sfd.FileName;
using (FileStream sss = new FileStream(st, FileMode.Create, FileAccess.Write))
{
sss.Write(ar, 1, length - 1);
mess("ok" + st); }
}
}
解决方案 »
- 求救!WIN7 DWM缩略图不能呈现在Panel控件中
- vs2005中如何显示加载视频
- 开始事务以后,其它用户查询该表报错:查询超时
- 请教C# richtext控件里画圆的方法
- 在新公司接触到的东西~寒
- 急,急急,在线等!! VCS express 调试不了,如何解决?
- 急。但是分少。雷风,你在那里。帮帮我
- <dxlc:LayoutGroup view="GroupBox"/>控件修改背景色
- 急。。疑难杂症,关于webbrowser和VPS远程桌面的问题
- 请教个问题:用什么工具可以开发在大部分手机上使用的软件?
- winform如何实现类似QQ消息记录这个功能的列表?
- WPF DataGrid 主从表数据绑定方式
要把线程设置为Thread thr = new Thread(rec);
thr.SetApartmentState(ApartmentState.STA);
在此结贴