你得学会且学得会的Socket编程基础知识
这一篇文章,我将图文并茂地介绍Socket编程的基础知识,我相信,如果你按照步骤做完实验,一定可以对Socket编程有更好地理解。第一步:创建解决方案第二步:创建服务端程序这里可以选择“Console Application”这个类型,比较方便调试然后编写如下代码,实现服务器的基本功能using System;using System.Collections.Generic;using System.Linq;using System.Text;//额外导入的两个命名空间using System.Net.Sockets;using System.Net;namespace SocketServer{ class Program { /// summary /// Socket Server 演示 /// 作者:陈希章 /// /summary /// param name=args/param static void Main(string[] args) { //创建一个新的Socket,这里我们使用最常用的基于TCP的Stream Socket(流式套接字) var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //将该socket绑定到主机上面的某个端口 //方法参考:/zh-cn/library/.sockets.socket.bind.aspx socket.Bind(new IPEndPoint(IPAddress.Any, 4530)); //启动监听,并且设置一个最大的队列长度 //方法参考:/zh-cn/library/.sockets.socket.listen(v=VS.100).aspx socket.Listen(4); Console.WriteLine(Server is ready!); Console.Read(); } }}?现在可以启动调试一下看看效果如何,正常情况下应该会看到一个提示,因为我们需要在TCP 4530端口进行监听,所以防火墙会有提示。点击“Allow access”这样,我们的服务器就可以开始监听了。但是这有什么用呢?是的,没有什么用。我们还需要为服务器添加一些功能,例如接受传入的请求,给客户端发送消息,或者从客户端接收消息等等第三步:接受传入的请求我们需要通过Accept,或者(BeginAccept)来接受传入的请求,请注意下面代码中的红色部分?using System;using System.Collections.Generic;using System.Linq;using System.Text;//额外导入的两个命名空间using System.Net.Sockets;using System.Net;namespace SocketServer{class Program {/// summary/// Socket Server 演示/// 作者:陈希章/// /summary/// param name=args/paramstaticvoid Main(string[] args) {//创建一个新的Socket,这里我们使用最常用的基于TCP的Stream Socket(流式套接字) var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//将该socket绑定到主机上面的某个端口//方法参考:/zh-cn/library/.sockets.socket.bind.aspx socket.Bind(new IPEndPoint(IPAddress.Any, 4530));//启动监听,并且设置一个最大的队列长度//方法参考:/zh-cn/library/.sockets.socket.listen(v=VS.100).aspx socket.Listen(4);//开始接受客户端连接请求//方法参考:/zh-cn/library/.sockets.socket.beginac
您可能关注的文档
- 以业绩为向的人力资源管理 试题就及答案.doc
- 以学生为心教学设计的理论,方法与经验浅谈.doc
- 以儒学思为核心构建企业文化创建和谐企业.doc
- 以新型农思维,推动现代农业科学发展.doc
- 以《车间理人员安全活动带班制度》为切入点 提高基层员工的安全意识和技能.doc
- 以忻州市村度假村邮电培训中心为例分析现代酒店服务业中存在的问题及对策.doc
- 亚龙湾八高端酒店设计考察笔记.docx
- 五年级上第三四单元测试.doc
- 以校为本地方课程资源开发研究.doc
- 人教版初物理教案.docx
- 技术试卷浙江省杭州市地区(含周边)重点中学2025学年第一学期高二年级期中考试(11.10-11.12).docx
- 江苏省宿迁中学2025-2026学年高二上学期10月份调研测试历史试题(含答案).docx
- 技术试卷浙江省9+1高中联盟2025学年第一学期高三年级期中考试(11.19-11.21).docx
- spe-229928 推进饱和储层评价:通过新一代地层测试技术识别火山角砾岩地层中的气顶并进行井下恒组分膨胀实验.pdf
- 国际石油期刊 JPT 2026-02.pdf
- spe-225023 通过干扰测试追踪碳酸盐岩中的地层压缩性并确定裂缝系统压缩性——墨西哥天然裂缝储层案例研究.pdf
- spe-227896 通过融合物理模型与机器学习算法,提升自动滑动性能.pdf
- bp公司在资产管理、可靠性与维护领域的转型策略与实践.pdf
- spe-224743 自主定向钻井和地质导向技术在MRC井中增强实时决策的实施——以阿布扎比海上油田为例.pdf
- 二叠纪盆地的十字路口:天然气加工与运输基础设施.pdf
最近下载
- MySQL数据库项目化教程课件 3.项目一-任务3-表的操作与管理.pptx VIP
- 22G101图集常用点解读课件.pptx VIP
- MySQL数据库项目化教程课件 6.项目二-任务3-多表查询.pptx VIP
- 老年肺炎临床诊断与治疗专家共识2025解读.pptx
- 康复医学考试题及答案.doc VIP
- 进阶练03 被动语态(模拟好题100道)(解析版).docx VIP
- MySQL数据库原理与应用项目化教程课件-数据库的创建与管理.pptx VIP
- JCT 60018-2023 现浇混凝土养护技术规范.pdf VIP
- 破界与跃迁:AIGC技术浪潮下体育媒体人才培养的创新路径.pdf VIP
- MySQL数据库项目化教程课件 5.项目二-任务2-单表查询.pptx VIP
原创力文档

文档评论(0)