C#通讯编程(吐血整理)

C#通讯编程(吐血整理)

ID:38117869

大小:83.09 KB

页数:40页

时间:2019-06-06

C#通讯编程(吐血整理)_第1页
C#通讯编程(吐血整理)_第2页
C#通讯编程(吐血整理)_第3页
C#通讯编程(吐血整理)_第4页
C#通讯编程(吐血整理)_第5页
资源描述:

《C#通讯编程(吐血整理)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C#通讯编程(整理)Socket通讯:publicclassXmlSocket{//异步socket诊听//Incomingdatafromclient.从客户端传来的数据publicstaticstringdata=null;//Threadsignal.线程用一个指示是否将初始状态设置为终止的布尔值初始化ManualResetEvent类的新实例。publicstaticManualResetEventallDone=newManualResetEvent(false);//staticvoid

2、Main(string[]args)//{//StartListening();//}publicstaticvoidStartListening(){//Databufferforincomingdata.传入数据缓冲byte[]bytes=newByte[1024];//Establishthelocalendpointforthesocket.建立本地端口//TheDNSnameofthecomputer//runningthelisteneris"host.contoso.com".IPAd

3、dressipAddress;StringipString=ConfigurationManager.AppSettings.Get("SocketIP");if(ipString==null

4、

5、ipString==String.Empty){IPHostEntryipHostInfo=Dns.GetHostEntry(Dns.GetHostName());ipAddress=ipHostInfo.AddressList[0];}else{ipAddress=IPAddress.Parse(ipSt

6、ring);}intport;StringportString=ConfigurationManager.AppSettings.Get("SocketPort");if(portString==null

7、

8、portString==String.Empty){40/40port=11001;}else{port=int.Parse(portString);}IPEndPointlocalEndPoint=newIPEndPoint(ipAddress,port);//CreateaTCP/IPsoc

9、ket.Socketlistener=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);//Bindthesockettothelocalendpointandlistenforincomingconnections.绑定端口和数据try{listener.Bind(localEndPoint);listener.Listen(100);while(true){//Settheeventtononsign

10、aledstate.设置无信号状态的事件allDone.Reset();//Startanasynchronoussockettolistenforconnections.重新启动异步连接listener.BeginAccept(newAsyncCallback(AcceptCallback),listener);//Waituntilaconnectionismadebeforecontinuing.等待连接创建后继续allDone.WaitOne();}}catch(Exceptione){//

11、}}publicstaticvoidAcceptCallback(IAsyncResultar){try{//Signalthemainthreadtocontinue.接受回调方法该方法的此节向主应用程序线程发出信号,//让它继续处理并建立与客户端的连接allDone.Set();//Getthesocketthathandlestheclientrequest.获取客户端请求句柄Socketlistener=(Socket)ar.AsyncState;Sockethandler=listener

12、.EndAccept(ar);40/40//Createthestateobject.StateObjectstate=newStateObject();state.workSocket=handler;handler.BeginReceive(state.buffer,0,StateObject.BufferSize,0,newAsyncCallback(ReadCallback),state);}catch(Exceptione){//}}///

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。