黑马程序员技术交流社区

标题: 搞不懂 [打印本页]

作者: 杨曾荣    时间: 2012-3-21 14:42
标题: 搞不懂
弄了半天也不知道哪里错了问题,看一吧
void ReceiveMsg(Object objSocket)
        {
            Socket socketRec = objSocket as Socket;
            while (true)
            {
                byte[] bytes = new byte[1024 * 1024];
                int len = socketRec.Receive(bytes);
                if (bytes[0] == 0)
                {
                    string message = System.Text.Encoding.UTF8.GetString(bytes, 0, len);
                    ShowMsg(message);
                }
                else if (bytes[0]==1)
                {
                    SaveFileDialog sfd = new SaveFileDialog();
                    if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        string savePath = sfd.FileName;
                        using (FileStream fs = new FileStream(savePath, FileMode.Create))
                        {
                            fs.Write(bytes, 1, len - 1);
                            ShowMsg("文件保存完毕" + savePath);
                        }
                    }
                    MessageBox.Show("dd");
                    
                }
            }
        }
当程序运行到这段代码 if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
的时候应该弹出一个保存文件的窗口,可它弹出了主程序窗口,而且我为了验证这段代码后面的程序是否被运行到,所在后面加了一段 MessageBox.Show("dd");
结果也没有运行到,为啥这样呢
作者: 柏云杉    时间: 2012-3-21 15:25
本帖最后由 柏云杉 于 2012-3-21 15:29 编辑

你的代码在我机子上能够运行,你所说的主程序窗口是什么?能否截个图。
后面代码没执行是不是你没有点确定?






你能弹出窗体说明上面的代码没问题给省去了。
作者: 杨曾荣    时间: 2012-3-21 19:06
我运行的时候没有弹出这个啊D:\桌面\152801k42mj1gej8d41hgr.jpg,我刚才看到服务端的bin文件夹里面有Debug和Release两个文件夹,而且里面都有应用程序,而客户端的bin文件也有Debug和Release两个文件夹,只是Debug里面是空的
作者: 杨曾荣    时间: 2012-3-21 19:07
奇怪了,图片发不出去
作者: 方辉    时间: 2012-3-22 01:26
你下个断点,看一看bytes[0]  这个数组的值.
作者: 杨曾荣    时间: 2012-3-23 19:11
方辉 发表于 2012-3-22 01:26
你下个断点,看一看bytes[0]  这个数组的值.

这里的值是没有问题的,当点击那个发送消息的按钮的时候,传过来值是0,那里是可以通过的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2