网的窝异步通讯示例分享
1、首先添加两个窗子窗体项目,一个作为服务端服务器,一个作为客户端客户2、然后添加服务端代码,添加命名空间,界面上添加文本框控件复制代码代码如下:使用系统。净值;使用系统。网套接字;3、表单加载方法添加代码复制代码代码如下:私有void Form1_Load(对象发送方,事件参数e){ IPEndPoint epServer=新的IPEndPoint(IP地址.Parse('127.0.0.1 '),7878);//IP地址和端口号套接字套接字=新套接字(地址族。网际网络,套接字类型。流协议类型.TCP);//定义插座插座。绑定(EpServer);//绑定插座。听(10);//监听插座BeginAccept(新的异步回调(恢复),套接字);//异步接收,回调方法为回收}4、添加回调方法代码复制代码代码如下:私有void RecVing(IAsyncResult rec _ socket){ string cmdstr=' ';套接字sc=(套接字)rec_socket .AsyncState插座插座=sc .EndAccept(rec _ socket);字节[]字节=新字节[1024];int i=套接字。接收(字节);cmdstr=编码. UTF8。GetString(字节,0,I);show strs(cmd str);即BeginAccept(新AsyncCallback(RecVing),sc);}5、添加放映员方法,定义委托私有委托void shixudong_invoke(字符串唤起乐趣);复制代码代码如下:私有无效showstrs(字符串recv_strs) { if (recv_strs).长度!=0) { if (this .需要调用){许氏dong _ invoke invoke=新许氏dong _ invoke(显示strs这个调用(Invoke,(object)recv _ strs);} else { textBox1 .Text=recv _ strs} }6、到此为止,服务端已经添加完毕7,客户端代码,首先跟服务端一样,添加命名空间,在界面上添加按钮事件复制代码代码如下:私人作废按钮1 _点击(对象发送者,事件参数e){ IPEndPoint IPEndPoint=新的IPEndPoint(IP地址.Parse('127.0.0.1 '),7878);//IP,端口号套接字套接字=新套接字(地址族。网际网络,套接字类型。流协议类型.TCP);插座。开始连接(端点,新的异步回调(发送),套接字);//回调方法发送}8、添加回调方法,代码如下复制代码代码如下:私有空隙检测(IAsyncResult rec _ Socket){ Socket Socket=(Socket)rec _ Socket .AsyncState尝试{ if (socket .已连接){ byte[] msgBuff=编码。获取字节(文本框1。文本);插座。发送(MSgbuff);//套接字接受();} else { Console .写线('错误!','错误!');} }捕捉{控制台。写线('错误!','错误!');}9、到此为止,客户端代码已经完成,调试的时候先启动服务端,然后启动客户端10、运行截图如下,点击按钮前,在文本框中输入石旭东
版权声明:网的窝异步通讯示例分享是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。