欢迎来到天天文库
浏览记录
ID:41032387
大小:72.50 KB
页数:6页
时间:2019-08-14
《C#最基本的Socket编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、最基本的Socket编程 示例程序是同步套接字程序,功能很简单,只是客户端发给服务器一条信息,服务器向客户端返回一条信息;这里只是一个简单的示例,是一个最基本的socket编程流程。 下面是示例程序的简单步骤说明 服务器端: 第一步:用指定的端口号和服务器的ip建立一个EndPoint对像; 第二步:建立一个Socket对像; 第三步:用socket对像的Bind()方法绑定EndPoint; 第四步:用socket对像的Listen()方法开始监听; 第五步:接受到客户端的连接,用socket对像的Accept()方法创建新的socket对像用于
2、和请求的客户端进行通信; 第六步:通信结束后一定记得关闭socket; 代码: usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.Net; usingSystem.Net.Sockets; namespaceserver { classProgram { staticvoidMain(string[]args) { intport=2000; stringhost="127.0.0.1"; /**////创建终结点(EndPoint
3、) IPAddressip =IPAddress.Parse(host);//把ip地址字符串转换为IPAddress类型的实例 IPEndPointipe=newIPEndPoint(ip,port);//用指定的端口和ip初始化IPEndPoint类的新实例 /**////创建socket并开始监听 Sockets = newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);//创建一个socket对像,如果用udp协议,则要用SocketType.Dgram类型
4、的套接字 s.Bind(ipe);//绑定EndPoint对像(2000端口和ip地址) s.Listen(0);//开始监听 Console.WriteLine("等待客户端连接"); /**////接受到client连接,为此连接建立新的socket,并接受信息 Sockettemp=s.Accept();//为新建连接创建新的socket Console.WriteLine("建立连接"); stringrecvStr=""; byte[]recvBytes=newbyte[1024]; intbytes; bytes=temp.Rece
5、ive(recvBytes,recvBytes.Length,0);//从客户端接受信息 recvStr+=Encoding.ASCII.GetString(recvBytes,0,bytes); /**////给client端返回信息 Console.WriteLine("servergetmessage:{0}",recvStr);//把客户端传来的信息显示出来 stringsendStr="ok!Clientsendmessagesuccessful!"; byte[]bs=Encoding.ASCII.GetBytes(sendStr); te
6、mp.Send(bs,bs.Length,0);//返回信息给客户端 temp.Close(); s.Close(); Console.ReadLine(); } } } server结果:客户端: 第一步:用指定的端口号和服务器的ip建立一个EndPoint对像; 第二步:建立一个Socket对像; 第三步:用socket对像的Connect()方法以上面建立的EndPoint对像做为参数,向服务器发出连接请求; 第四步:如果连接成功,就用socket对像的Send()方法向服务器发送信息; 第五步:用socket对像的Receive()
7、方法接受服务器发来的信息; 第六步:通信结束后一定记得关闭socket; 代码: usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.Net; usingSystem.Net.Sockets; namespaceClient { classProgram { staticvoidMain(string[]args) { try { intport=2000; stringhost="127.0.0.1"; /**////创建终结点
8、EndPo
此文档下载收益归作者所有