资源描述:
《c完整的通信代码点对点,点对多,同步,异步,udp,》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C#完整的通信代码(点对点,点对多,同步,异步,UDP,TCP).txt20如果你努力去发现美好,美好会发现你;如果你努力去尊重他人,你也会获得别人尊重;如果你努力去帮助他人,你也会得到他人的帮助。 生命就像一种回音,你送出什么它就送回什么,你播种什么就收获什么,你给予什么就得到什么。C#codenamespaceUDPServer{classProgram{staticvoidMain(string[]args){intrecv;byte[]data=newbyte[1024];//构建TCP服务器//得到本机IP,设置TCP端口号IPEndPointipep=newIPEndPoi
2、nt(IPAddress.Any,8001);Socketnewsock=newSocket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);//绑定网络地址newsock.Bind(ipep);Console.WriteLine("ThisisaServer,hostnameis{0}",Dns.GetHostName());//等待客户机连接Console.WriteLine("Waitingforaclient...");//得到客户机IPIPEndPointsender=newIPEndPoint(IP
3、Address.Any,0);EndPointRemote=(EndPoint)(sender);recv=newsock.ReceiveFrom(data,refRemote);Console.WriteLine("Messagereceivedfrom{0}:",Remote.ToString());Console.WriteLine(Encoding.ASCII.GetString(data,0,recv));//客户机连接成功后,发送欢迎信息stringwelcome="Welcome!";//字符串与字节数组相互转换data=Encoding.ASCII.GetBytes(w
4、elcome);//发送信息newsock.SendTo(data,data.Length,SocketFlags.None,Remote);while(true){data=newbyte[1024];//发送接受信息recv=newsock.ReceiveFrom(data,refRemote);Console.WriteLine(Encoding.ASCII.GetString(data,0,recv));newsock.SendTo(data,recv,SocketFlags.None,Remote);}}}}C#codeusingSystem;usingSystem.Coll
5、ections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Net;usingSystem.Net.Sockets;namespaceUDPClient{classProgram{staticvoidMain(string[]args){byte[]data=newbyte[1024];stringinput,stringData;//构建TCP服务器Console.WriteLine("ThisisaClient,hostnameis{0}",Dns.GetHostName());//设置服务IP,设置TCP端口号IPE
6、ndPointipep=newIPEndPoint(IPAddress.Parse("127.0.0.1"),8001);//定义网络类型,数据连接类型和网络协议UDPSocketserver=newSocket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);stringwelcome="Hello!";data=Encoding.ASCII.GetBytes(welcome);server.SendTo(data,data.Length,SocketFlags.None,ipep);IPEndPointse
7、nder=newIPEndPoint(IPAddress.Any,0);EndPointRemote=(EndPoint)sender;data=newbyte[1024];intrecv=server.ReceiveFrom(data,refRemote);Console.WriteLine("Messagereceivedfrom{0}:",Remote.ToString());Console.WriteLine(Encoding.ASCI