使用stream实现server和client端字符串发送和自动收,如何使自动收到的string自动显示到textbox 中,请高手指点。

问题描述

要写一个Socket程序,界面很简单,两个textbox,textbox1输入要发送的string,连接建立后不需要点击button就能自动接收另一端发过来的string,而且textbox2自动显示收到的string,使用BeginStream进行异步回调,能够自动接收string到一个buffer中,但是我不知道怎么自动把收到的string自动显示到textbox2中,好像是要建立一个异步事件。请高手给指点一下,最好给出code。非常感激。

解决方案

解决方案二:
就是原来的程序server端点一个receivebutton,程序会停在那里等待client端给他发string,client也一样,点了receivebutton就会等server端发,现在我要去掉receivebutton,只要sendbutton,只要一端发,另一端能自动接收并显示到textbox2中,不知道改怎么做,请高手指点。
解决方案三:
delegatevoidaaa(objectsender,eventarge);在收到数据的事件里写.if(this.RequireInvoke)this.Invoke(newaaa(该事件处理方法的名称);else{将数据显示到TextBox;}
解决方案四:
楼上的我还是有点不明白,我程序中接收的code是这样的,不在classform1中是封在另一个class里:privatestaticIrDAClientirClient=newIrDAClient();publicstaticboolwait=false;//这是标志位publicstaticstringReceiveString="";//收到的string放到这里privateThreadTlisten=newThread(newThreadStart(IrDAListenerThread));//SetthreadstaticStreamReceiveStream;publicstaticvoidIrDAListenerThread()//thelistenthread!{while(true){if(wait==true){BeginRecStr();//beginreceive}}}publicstaticvoidBeginRecStr(){ReceiveStream=irClient.GetStream();byte[]bufferRec=newbyte[buffersize];ReceiveString="";if(wait)//waitisaswitch,couldbeacommandallowableswitch{try{ReceiveStream.BeginRead(bufferRec,0,buffersize,newAsyncCallback(EndRecStr),null);//??????????????????????????}catch(Exceptionex){MessageBox.Show(ex.Message);}while(wait){Thread.Sleep(50);//waitforreceive}//datareceived,readytoturntostring!ReceiveStream.Close();try{ReceiveString=ASCIIEncoding.Default.GetString(bufferRec,0,bufferRec.Length);Thread.Sleep(100);//wait=true;//我不明白什么时候把标致位设为true//bufferRec.Initialize();//thiswilltakeupsometime!}catch(Exception){MessageBox.Show("ReadFailure,NoBytesreceived!");//bufferRec.Initialize();}}else{ReceiveStream.Close();}}privatestaticvoidEndRecStr(IAsyncResultar){intByteReceived=ReceiveStream.EndRead(ar);//somedelayhere!if(ByteReceived<=0){MessageBox.Show("NoBytesReceived");}//MessageBox.Show(ByteReceived.ToString()+"BytesReceived!");//ReceiveStream.Close();wait=false;BeginRecStr();//callbackfunction}我还是不知道怎么写这个事件,在哪里写?怎么在form1中怎么触发接收的事件?

时间: 2024-09-30 06:35:09

使用stream实现server和client端字符串发送和自动收,如何使自动收到的string自动显示到textbox 中,请高手指点。的相关文章

【APACHE MINA2.0开发之一】搭建APACHE MINA框架并实现SERVER与CLIENT端的简单消息传递!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/apache-mina/831.html Hibernate系列学习阶段到此结束了,那么紧接着进入Apache Mina的开发学习,很多童鞋在微薄和QQ中疑问Himi为什么突然脱离游戏开发了,嘿嘿,其实可能更多的童鞋已经看出来了,Himi在偏向服务器Server端开发了,Hibernate.MySQL等都是为了Server端Mina开发而做的

关于cs程序中使用mina2框架,server与client端的session不是同一个,不能实现数据互通

问题描述 我在开发cs程序中使用mina2框架,server与client端的session不是同一个,不能实现数据互通.是不是本来就不是同一个,还是哪里需要设置? 解决方案

我正要做一个Web端的类似于TQ的在线客服,其中用到了在线视频,我该怎么做,请高手指点,谢谢了

问题描述 我正要做一个Web端的类似于TQ的在线客服,其中用到了在线视频,我该怎么做,请高手指点,谢谢了

axis创建web server客户端报错,请高手指点一下,请详细一点。

问题描述 Java代码publicstaticvoidmain(String[]args)throwsIOException{Stringendpoint="http://bsp-test.sf-express.com:9090/bsp-ois/ws/expressService?wsdl";Stringxml="<Requestservice='RouteService'lang='zh-CN'>"+"<Head>ZJRPQDGJ

无效的连接字符串属性-Microsoft SQL Server Native Client 10.0 错误 &amp;amp;#39;80004005&amp;amp;#39; 错误 困扰好几天了

问题描述 Microsoft SQL Server Native Client 10.0 错误 '80004005' 错误 困扰好几天了 Microsoft SQL Server Native Client 10.0 错误 '80004005' 无效的连接字符串属性 conn.asp,行 22 Provider 错误 '80004005' 未指定的错误 这样的错误 有谁见过吗 请高手指点一下 QQ: 1379918820

(请教高手) 怎么在client端得到Server Form 的对象!

问题描述 问题:在页面上存在一个Server端的Form<formid="form2"runat="server">我想在Client端用js获取这个Form的对象,如:vartheForm=document.forms['form2'];if(!theForm){theForm=document.form2;}用什么方法比较好点?请高手指点下我想到的是在Server端获取Form的id,然后输出一段jscode到页面.

文件传输-关于Socket通信问题 ,Sever和Client端如何相互判断对方中断以及终断

问题描述 关于Socket通信问题 ,Sever和Client端如何相互判断对方中断以及终断 一个手机做为Server端,其他多个手机做为Client端,用Socket建立连接,然后进行文件传输,怎么判断Server和Client端的中断以及终断? 解决方案 百度查查Soket心跳检测怎样做.http://blog.sina.com.cn/s/blog_a459dcf5010153m5.html 解决方案二: 初学者,没怎么看懂,谢谢!! 解决方案三: 数据小的消息相互发送与应答(降低流量),定

【APACHE MINA2.0开发之二】自定义实现SERVER/CLIENT端的编解码工厂(自定义编码与解码器)!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/apache-mina/839.html 在上一篇博文中已经简单介绍过"过滤器"的概念,那么在Mina 中的协议编解码器通过过滤器 ProtocolCodecFilter 构造,这个过滤器的构造方法需 要一个 ProtocolCodecFactory,这从前面注册 TextLineCodecFactory 的代码就可以看出来. Pr

Asp.Net小技巧之在client端调用server端事件

asp.net|client|server|技巧 Asp.Net小技巧之在client端调用server端事件: string strCMD = Page.GetPostBackClientHyperlink(ControlName,Parameter); OtherControlName.Attributes.Add("ClientEventName", strCMD); 小注:   在上述两行代码中,利用Page.GetPostBackClientHyperlink方法来取得对服务