实现一个简单的网络通信上

实现一个简单的网络通信上_第1张图片

实现一个简单的网络通信上_第2张图片

实现一个简单的网络通信上_第3张图片

那么我们的服务器有了,接下来就是初始化服务器

实现一个简单的网络通信上_第4张图片

我们写的是基于udp协议的服务器,如果你想进行网络编程,那么创建的第一个就是socket 创建套接字

domain参数

实现一个简单的网络通信上_第5张图片

所以当我们创建一个套接字时,你得说明未来使用这些套接字对应的类型是什么

参数type:   通信的种类

实现一个简单的网络通信上_第6张图片

domain说明了我们当前的套接字是用于本地通信还是网络通信的

int type 是如果你确定是网络通信,那么你想在网络当中以什么方式通信,是以流式通信还是以数据报的方式

实现一个简单的网络通信上_第7张图片

实现一个简单的网络通信上_第8张图片

也就是说当你套接字创建失败了,那么也就打出我们的日志,并退出

----------------------------------------------------------------------------------------------------------

套接字创建好了,那么下一步就是bind绑定

如果我们当前已经创建好了一个套接字,那么我们有了一个文件描述符,那么就给未来通信提供了一种能力,能够通过文件描述符进行IO,但是套接字通信是两台跨网络的主机,上面的应用进程在进行通信,那么套接字通信时,需要用ip和port标识该服务器上唯一的进程

目前为止我们只是创建了一个套接字

bind  :将用户设置的ip和port在内核中和我们当前的进程强关联

实现一个简单的网络通信上_第9张图片

实现一个简单的网络通信上_第10张图片

实现一个简单的网络通信上_第11张图片

这样我们的服务器初始化就完成了一大半!!

实现一个简单的网络通信上_第12张图片

服务器怎么拿数据呢??

实现一个简单的网络通信上_第13张图片

实现一个简单的网络通信上_第14张图片

实现一个简单的网络通信上_第15张图片

我们分析和处理数据,一会在完成,先完成如何给对方返回消息呢??

实现一个简单的网络通信上_第16张图片

实现一个简单的网络通信上_第17张图片

至此,我们最基本的udp服务器就完成了

----------------------------------------------------------------------------------------------------------------

实现一个简单的网络通信上_第18张图片

实现一个简单的网络通信上_第19张图片

至此我们的简单的完成了我们的客户端和服务器

---------------------------------------------------------------------------------------------------------------------------------

127.0.0.1

这个IP通常用于网络服务器的测试

实现一个简单的网络通信上_第20张图片

云服务器:

1.云服务器无法bind公网IP ,也不建议

实现一个简单的网络通信上_第21张图片

2.server来说,我们也不推荐bind确定的IP

实现一个简单的网络通信上_第22张图片

实现一个简单的网络通信上_第23张图片

实现一个简单的网络通信上_第24张图片

现在我们的客户端和服务器就可以建立连接了,接下来我们写点更好玩的

------------------------------------------------------------------------------------------------------------------------

实现一个简单的网络通信上_第25张图片

实现一个简单的网络通信上_第26张图片

实现一个简单的网络通信上_第27张图片

实现一个简单的网络通信上_第28张图片

实现一个简单的网络通信上_第29张图片

你可能感兴趣的:(Linux模块学习,网络)