zoukankan      html  css  js  c++  java
  • 笔记-TCPCLIENT

                    byte[] myReadBuffer = new byte[1024];
    
            private void ReceiveMessage()
            {
                try
                {
                    tcpClient = new System.Net.Sockets.TcpClient("192.168.1.3", 8888);//创建TcpClient对象实例 
    
                }
                catch (Exception le)
                {
                }
                netStream = tcpClient.GetStream();//得到网络流
                if (netStream.CanWrite)
                {
    
                    byte[] myWriteBuffer = Encoding.ASCII.GetBytes("Are you receiving this message?");
                    netStream.BeginWrite(myWriteBuffer, 0, myWriteBuffer.Length,
                                                                 new AsyncCallback(myWriteCallBack),
                                                                 netStream);
                    allDone.WaitOne();
                }
                else
                {
                    Console.WriteLine("Sorry.  You cannot write to this NetworkStream.");
                }
                if (netStream.CanRead)
                {
                    netStream.BeginRead(myReadBuffer, 0, myReadBuffer.Length,myReadCallBack,netStream);
    
                    allDone.WaitOne();
                }
                else
                {
                    Console.WriteLine("Sorry.  You cannot read from this NetworkStream.");
                }
                
            }
            public void myWriteCallBack(IAsyncResult ar)
            {
                NetworkStream myNetworkStream = (NetworkStream)ar.AsyncState;
                myNetworkStream.EndWrite(ar);
                allDone.Set();
            }
            public void myReadCallBack(IAsyncResult ar)
            {
                StringBuilder myCompleteMessage = new StringBuilder();
                NetworkStream myNetworkStream = (NetworkStream)ar.AsyncState;
                int numberOfBytesRead;
                numberOfBytesRead = myNetworkStream.EndRead(ar);
                string str = Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead);
                myCompleteMessage.AppendFormat("{0}", str);
                // message received may be larger than buffer size so loop through until you have it all.
                while (myNetworkStream.DataAvailable)
                {
                    myNetworkStream.BeginRead(myReadBuffer, 0, myReadBuffer.Length,new AsyncCallback(myReadCallBack), myNetworkStream);
                    //
                }
    
                // Print out the received message to the console.
                TextBox2.Text = myCompleteMessage.ToString();
                allDone.Set();
            }
  • 相关阅读:
    thinkphp3.2v
    ng-select 下拉的两种方式
    angular的时间指令 以及防止闪烁问题
    angularjs中的几种工具方法
    运用正则+replace+substring将一段英语的字母大写 angurlar运用自定义指令filter完成首字母大写
    angularjs bind与model配合双向绑定 表达式方法输出
    ajax跨域问题
    团队作业一
    校外实习报告(四)
    校外实习报告(三)
  • 原文地址:https://www.cnblogs.com/timeObjserver/p/7932167.html
Copyright © 2011-2022 走看看