欢迎来到天天文库
浏览记录
ID:16734124
大小:22.76 KB
页数:13页
时间:2018-08-24
《c# socket通信的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、C#Socket通信publicclassXmlSocket{//异步socket诊听//Incomingdatafromclient.从客户端传来的数据publicstaticstringdata=null;//Threadsignal.线程用一个指示是否将初始状态设置为终止的布尔值初始化ManualResetEvent类的新实例。publicstaticManualResetEventallDone=newManualResetEvent(false);//staticvoidMain(string[]args)//{//StartListening();//}publicstati
2、cvoidStartListening(){//Databufferforincomingdata.传入数据缓冲byte[]bytes=newByte[1024];//Establishthelocalendpointforthesocket.建立本地端口//TheDNSnameofthecomputer//runningthelisteneris"host.contoso.com".IPAddressipAddress;StringipString=ConfigurationManager.AppSettings.Get("SocketIP");if(ipString==null
3、
4、i
5、pString==String.Empty){IPHostEntryipHostInfo=Dns.GetHostEntry(Dns.GetHostName());ipAddress=ipHostInfo.AddressList[0];}else{ipAddress=IPAddress.Parse(ipString);}intport;StringportString=ConfigurationManager.AppSettings.Get("SocketPort");if(portString==null
6、
7、portString==String.Empty){port=11001;oth
8、erstaffoftheCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirectorofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorderoftheWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,hehasbeentheNorthwestOfficeoftheFederationofStateente
9、rprisesMinister,ShenmufuguSARmissions,DirectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,Ministersand}else{port=int.Parse(portString);}IPEndPointlocalEndPoint=newIPEndPoint(ipAddress,port);//CreateaTCP/IPsocket.Socketlistener=newSocket(AddressFamily.InterN
10、etwork,SocketType.Stream,ProtocolType.Tcp);//Bindthesockettothelocalendpointandlistenforincomingconnections.绑定端口和数据try{listener.Bind(localEndPoint);listener.Listen(100);while(true){//Settheeventtononsignaledstate.设置无信号状态的事件allDone.Reset();//Startanasynchronoussockettolistenforconnections.重新启动异步连接
11、listener.BeginAccept(newAsyncCallback(AcceptCallback),listener);//Waituntilaconnectionismadebeforecontinuing.等待连接创建后继续allDone.WaitOne();}}catch(Exceptione){//}}publicstaticvoidAcceptCallback(IAsyncResultar){try{//Signa
此文档下载收益归作者所有