已有56人关注
关于视频学c#网络编程技术(第十七章)请教二
发表在C#图书答疑 2010-07-07
是否精华
版块置顶:
感谢您们及时回帖!以下又麻烦您门了!
点对点聊天室内,接收器线程如下:
       private void StartListen()
        {  tcpListener = new TcpListener(888);      tcpListener.Start();
            while (true)
            {//循环体开始。  
               TcpClient tclient = tcpListener.AcceptTcpClient();//1..接受连接请求
                NetworkStream nstream = tclient.GetStream();      //2..获取数据流
                byte[] mbyte = new byte[1024];                    //3..建立缓存
                int i = nstream.Read(mbyte, 0, mbyte.Length);     //4..将数据流写入缓存
                string message = Encoding.Default.GetString(mbyte, 0, i);
                rtbContent.AppendText(message);
                rtbContent.ScrollToCaret();
                //循环体结束。
            } }
请问1:while (true){//这个循环是死循环。应该快速执行循环体。
                    //如果没有连接请求,自动等待在第一行?不往下执行吗?
                    //是不是我提出了幼稚的问题呢?
       }
请问2:我想在rtbContent属性和事件中无法查找{
       rtbContent.AppendText(message);
       rtbContent.ScrollToCaret();}等方法。知道自己不熟悉引起的。能不能老家你们吗?
请问3:在网络编程资料中怎样查找利用异步方法(例如Socket常用方法说明中的,BeginSengFile   (),EndSendFile()等)的例题呢?
请问4:能不能本点对点聊天室例子内实现异步文件发送呢?能提供思路呢!


分享到:
精彩评论 1
东方_mrkj
学分:0 LV1
2010-07-07
沙发
曹老师你好:

针对你的问题按顺序作以下答复:      
1、tcpListener.Start()自动等待这一行;
2、因为这两个成员是RichTextBox控件的方法,所以在控件的属性和事件窗口中是找不到的。可以到MSDN中查找RichTextBox控件的AppendText方法和ScrollToCaret方法
3、可以到网上搜索“C# Socket 异步传输文件”关键字
4、异步传输就是,你调用一个函数发送数据,马上返回,你可以继续处理其他事,
接收时,对方的有数据来,你会接收到一个消息,或者你的相关接收函数会被调用。
这里的相关函数就是回调函数,需要一个函数指针,在C#里面是依靠委托来代替函数指针的。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照