你得学会并且学得会的Socket编程基础知识.docx
上传人:qw****27 上传时间:2024-09-12 格式:DOCX 页数:24 大小:1.3MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

你得学会并且学得会的Socket编程基础知识.docx

你得学会并且学得会的Socket编程基础知识.docx

预览

免费试读已结束,剩余 14 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

这一篇文章,我将图文并茂地介绍Socket编程的基础知识,我相信,如果你按照步骤做完实验,一定可以对Socket编程有更好地理解。第一步:创建解决方案第二步:创建服务端程序这里可以选择“ConsoleApplication”这个类型,比较方便调试然后编写如下代码,实现服务器的基本功能usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;//额外导入的两个命名空间usingSystem.Net.Sockets;usingSystem.Net;namespaceSocketServer{classProgram{///<summary>///SocketServer演示///作者:陈希章///</summary>///<paramname="args"></param>staticvoidMain(string[]args){//创建一个新的Socket,这里我们使用最常用的基于TCP的StreamSocket(流式套接字)varsocket=newSocket(AddressFamily.InterNetwork,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-cn/library/system.net.sockets.socket.listen(v=VS.100).aspxsocket.Listen(4);Console.WriteLine("Serverisready!");Console.Read();}}}现在可以启动调试一下看看效果如何,正常情况下应该会看到一个提示,因为我们需要在TCP4530端口进行监听,所以防火墙会有提示。点击“Allowaccess”这样,我们的服务器就可以开始监听了。但是这有什么用呢?是的,没有什么用。我们还需要为服务器添加一些功能,例如接受传入的请求,给客户端发送消息,或者从客户端接收消息等等第三步:接受传入的请求我们需要通过Accept,或者(BeginAccept)来接受传入的请求,请注意下面代码中的红色部分usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;//额外导入的两个命名空间usingSystem.Net.Sockets;usingSystem.Net;namespaceSocketServer{classProgram{///<summary>///SocketServer演示///作者:陈希章///</summary>///<paramname="args"></param>staticvoidMain(string[]args){//创建一个新的Socket,这里我们使用最常用的基于TCP的StreamSocket(流式套接字)varsocket=newSocket(AddressFamily.InterNetwork,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-cn/library/system.net.sockets.socket.listen(v=VS.100).aspxsocket.Listen(4);//开始接受客户端连接请求//方法参考:http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socket.beginaccept.aspxsocket.BeginAc