首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

cs代码改BS,该怎么处理

2013-11-23 
cs代码改BS哪位大侠帮我把下面的CS代码改成BS的代码工作的原理就是SOCKET接收数据后刷新gridview 要测试通

cs代码改BS
哪位大侠帮我把下面的CS代码改成BS的
代码工作的原理就是SOCKET接收数据后刷新gridview 要测试通过的
这是第六百分了 还是没有解决


private delegate void ShowMsg(string strMsg);
        private ShowMsg SM;
        DataTable dt = new DataTable();
        protected void Page_Load(object sender, EventArgs e)
        {
        SM += new ShowMsg(SetLabel);
 
        dt.Columns.Add("yvalue", typeof(string));
        dt.Rows.Add();
        }
        private void SetLabel(string strMsg)
        {
 
            gvOpint.DataSource = dt;
            gvOpint.DataBind();
        }
        protected void Button1_Click1(object sender, EventArgs e)
        {
            Sockelisten();
            
        }
        void Sockelisten()
        {
 
            IPAddress ips = Dns.GetHostAddresses(Dns.GetHostName())[0];
            IPEndPoint ip = new IPEndPoint(IPAddress.Parse("192.168.2.59"), 6666);
            Socket soc = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            soc.Bind(ip);
            soc.Listen(10);
            Socket hander = soc.Accept();
            while (true)
            {
                byte[] bytes = new byte[1024];
                int len = hander.Receive(bytes);
                string st = Encoding.Default.GetString(bytes);
                dt.Rows.Add();
                dt.Rows[dt.Rows.Count - 1][0] = st;
 
                GridView.Invoke(SM); //这一句代码在CS中是会报错的
                 
                Thread.Sleep(1000);
            }
        }

[解决办法]
B/S和C/S的工作原理是不一样的,你的这个Socket目前是无法实现,或者说技术上不太成熟的,你浏览器所看到的所有内容,都是执行在服务器端,并将结果html返回的。你看到的只是呈现而已

既然要改成BS架构的,那么就要从思维和观念上先改变,CS操作的本地机器的内容,所以你监听端口也好等等操作,这些资源都是可控的,而BS的所有操作,其实都是将请求发送到服务器端,由服务端执行。

你还是首先了解下B/S的情况吧
[解决办法]
引用:
B/S和C/S的工作原理是不一样的,你的这个Socket目前是无法实现,或者说技术上不太成熟的,你浏览器所看到的所有内容,都是执行在服务器端,并将结果html返回的。你看到的只是呈现而已

既然要改成BS架构的,那么就要从思维和观念上先改变,CS操作的本地机器的内容,所以你监听端口也好等等操作,这些资源都是可控的,而BS的所有操作,其实都是将请求发送到服务器端,由服务端执行。

你还是首先了解下B/S的情况吧
+1
[解决办法]
为什么不用ajax定时去轮询呢?
[解决办法]
setTimeout( "ajax请求" ,  1000 );

ajax请求:$.ajax.....


[解决办法]
放个TIMER 定时刷吧
[解决办法]
引用:
Quote: 引用:

B/S和C/S的工作原理是不一样的,你的这个Socket目前是无法实现,或者说技术上不太成熟的,你浏览器所看到的所有内容,都是执行在服务器端,并将结果html返回的。你看到的只是呈现而已

既然要改成BS架构的,那么就要从思维和观念上先改变,CS操作的本地机器的内容,所以你监听端口也好等等操作,这些资源都是可控的,而BS的所有操作,其实都是将请求发送到服务器端,由服务端执行。

你还是首先了解下B/S的情况吧


那按你的意思是这东西用BS无法实现?不会吧??这是老大交给我的任务 还说这两天就要的
我因为这些年都是做CS BS基本也是做ERP什么的 像AJAX轮询什么的很生疏 所以老大给任务的时候我还特意问了用BS还是CS 结果老大要BS的 好蛋疼啊 CS半个小时就可以了 偏要我用BS 我该怎么办 小弟还在试用期啊 苦逼

也就是上面几楼说的,使用ajax定时刷新,不断请求,以模拟服务器的推送功能。我以前做BS是,经常使用AjaxPro来出来Ajax的,其他的都是js的写法,只要简单了解下AjaxPro的用法,就OK了
http://www.cnblogs.com/lexus/archive/2007/11/29/977281.html
这个AjaxPro的教程,是比较简单的,很容易的,你操作下,或者直接在项目中使用也可以,JS方面就看你的基础了,不行在了解学习下js。
还是那句话,改变思想,你做的是B/S,而不是C/S
[解决办法]
ajax局部刷新技术可以解决你的问题
[解决办法]
ajax长轮询
[解决办法]

顶贴,记得给分哦,亲。
[解决办法]
cs代码改BS,该怎么处理顶贴,记得给分哦,亲

热点排行