游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

首页   >   博客   >   达维安爵士

C#网络编程学习(二):熟悉C#网络编程各模块 热度 3

个人分类: C# | 2018-2-8 15:41
标签:网络编程
1 个评论 | 阅读 613 | 收藏 | 举报
这次来熟悉些网络模块
一:IPEndPoint
首先需要了解的是关于类
.Net框架使用的IPEndPoint来表示IP/端口这个网络身份
这个类具体的方法或属性字段大家可以自行去查询MSDN,我这里只实际使用输出一些信息
跟上次一样,只发代码截图,请自行打一遍

输出内容:

二:Socket套接字属性演示

之后的Socket都将是以TCP协议为准,也就是参数:new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

了解到什么是IP终结点后,下面就是使用它,跟其C语言等一样,C#这里也叫做Socket

一个简单的Socket实例代码:

三:一个简单的本地服务器函数

在Socket套接字建立后,作为服务器,必须把它绑定到一个本地IP地址和一个端口号

设置可接入的客户端数量后,即可开始监听连接,程序开始等待

注意,这里设置的端口8000,可能已被占用,会报错,再设一个其他的就行

四:简单的客户机函数

类似的,客户机也需要一个Socket实例。

然后这个客户机Socket使用Connect方法连接服务器的IP地址(这里直接使用的本机IP)

最后两段函数为通信完成后客户机关闭方法,使用Shutdown可以较为顺畅得体的先停止会话,参数为SocketShutdown,里面有几个常数以选择以哪种方案关闭

最后的Close()才是真正的完全关闭这个客户机

这样写的一个简单客户机虽然看上去没什么大问题,但是这一切都是基于程序连接正常的情况下,如果某一个环节出错,将会导致整个程序崩溃

作为一个程序员,任何时候都不要忘记对异常的处理方案

这里使用的是try_catch块,所有Socket都使用SocketException异常

下面是带错误异常捕捉的客户机

2 0

评论 (1 个评论)

回复 胡萝卜大白菜 2018-2-13 11:41
很详细,赞一个,谢谢

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册帐号

个人分类

  • C#(4)

标签

阅读排行

评论排行

推荐博客

最新博客

返回顶部