| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 586 人关注过本帖
标题:关于 TCP 异步通讯问题
只看楼主 加入收藏
dingdingvsjj
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-7-27
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
关于 TCP 异步通讯问题
关于TCP异步通讯中,我一直有几个问题没搞明白
1.TCP异步通讯到底有什么作用???哪位大神能给我举个例子来说说不Orz
2.关于下面这段代码中WaitOne这个东西(阻止当前线程),这样写了以后那不是和TCP同步通讯是一样的效果了,都是要阻塞当前线程,那我干嘛还这么麻烦的写一个异步程序,直接写一个同步的多好啊。(这个程序是一本书上的TCP异步的例子)
程序代码:
private void but_connect_Click(object sender, EventArgs e)
        {
            try
            {
                client = new TcpClient(AddressFamily.InterNetwork);
                IPAddress ipadd = IPAddress.Parse(txt_hostname.Text.ToString());

 
                AsyncCallback requestCallBack = new AsyncCallback(RequestCallBack);
                allDone.Reset();

 
                client.BeginConnect(ipadd, 3000, requestCallBack, client);

 
                //public object Invoke(Delegate method, params object[] args);调用callback
                lb_state.Invoke(setlistboxcallback, string.Format("本机终结点:{0}", client.Client.LocalEndPoint));
                lb_state.Invoke(setlistboxcallback, "开始与服务器连接...");
                allDone.WaitOne();
            }
            catch (Exception ee)
            {
                lb_state.Invoke(setlistboxcallback, string.Format("错误:{0}", ee.Message));
            }
            finally
            {
            }

 
        }

        

3.解决TCP异步这个问题,直接开启多线程不就好了吗,干嘛还要弄异步这个东西,多麻烦啊??
搜索更多相关主题的帖子: color 
2014-07-27 12:09
何事惊慌
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:220
专家分:499
注 册:2008-7-2
收藏
得分:20 
多线程是随机的,不可能同步的哈,比如你发了10条信息,多线程是不可能按照顺序发的,他是随机发过去的,会影响阅读哦

QQ:860234001
编程交流群:236949758
2014-08-01 22:27
快速回复:关于 TCP 异步通讯问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018176 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved