欢迎来到天天文库
浏览记录
ID:20662599
大小:666.43 KB
页数:24页
时间:2018-10-14
《你得学会并且学得会的socket编程基础知识》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、这一篇文章,我将图文并茂地介绍Socket编程的基础知识,我相信,如果你按照步骤做完实验,一定可以对Socket编程有更好地理解。第一步:创建解决方案第二步:创建服务端程序这里可以选择“ConsoleApplication”这个类型,比较方便调试然后编写如下代码,实现服务器的基本功能usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;//额外导入的两个命名空间usingSystem.Net.Soc
2、kets;usingSystem.Net;namespaceSocketServer{classProgram{//////SocketServer演示///作者:陈希章//////staticvoidMain(string[]args){//创建一个新的Socket,这里我们使用最常用的基于TCP的StreamSocket(流式套接字)varsocket=newSocket(AddressFamily.Int
3、erNetwork,SocketType.Stream,ProtocolType.Tcp);//将该socket绑定到主机上面的某个端口//方法参考:http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socket.bind.aspxsocket.Bind(newIPEndPoint(IPAddress.Any,4530));//启动监听,并且设置一个最大的队列长度//方法参考:http://msdn.microsoft.com/zh
4、-cn/library/system.net.sockets.socket.listen(v=VS.100).aspxsocket.Listen(4);Console.WriteLine("Serverisready!");Console.Read();}}} 现在可以启动调试一下看看效果如何,正常情况下应该会看到一个提示,因为我们需要在TCP4530端口进行监听,所以防火墙会有提示。点击“Allowaccess”这样,我们的服务器就可以开始监听了。但是这有什么用呢?是的,没有什么用。我们还需要为服
5、务器添加一些功能,例如接受传入的请求,给客户端发送消息,或者从客户端接收消息等等第三步:接受传入的请求我们需要通过Accept,或者(BeginAccept)来接受传入的请求,请注意下面代码中的红色部分 usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;//额外导入的两个命名空间usingSystem.Net.Sockets;usingSystem.Net;namespaceSocketServ
6、er{classProgram{//////SocketServer演示///作者:陈希章//////staticvoidMain(string[]args){//创建一个新的Socket,这里我们使用最常用的基于TCP的StreamSocket(流式套接字)varsocket=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType
7、.Tcp);//将该socket绑定到主机上面的某个端口//方法参考:http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socket.bind.aspxsocket.Bind(newIPEndPoint(IPAddress.Any,4530));//启动监听,并且设置一个最大的队列长度//方法参考:http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socket.li
8、sten(v=VS.100).aspxsocket.Listen(4);//开始接受客户端连接请求//方法参考:http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socket.beginaccept.aspxsocket.BeginAccept(newAsyncCallback((ar)=>{//这就是客户端的Socket实例,我们后续可以将其保存起来varclient=socket.EndAccep
此文档下载收益归作者所有