Siki学院的视频教程指路牌:https://www.sikiedu.com/course/61. 在网络通信中,路由器是起到一个中转站的作用,发送的目的主机就是靠路由器识别IP转发,IP就是目的主机的地址。 局域网IP:是可以通过ipconfig查询到的,是在连接同一个路由的主机构成的一个局域网内,由路由分配的IP。在这个局域网内,IP唯一且不可重复。(本地坐标系) 由于IP可以定位到主机,主机上不同的要通信的程序占用着不同的端口,因此要到软件的话,需要IP+端口来定位。 VS2019 项目类型:C# .Net Framework 控制台应用 在原来的解决方案上,右键添加新项目:TCPClient 客户端发送消息,由用户自定义输入用于检测,并在连接断开前,都补充了Console.ReadKey();用于观察结果。
Unity3D游戏制作学习记录01——丛林战争
学业繁忙…和朋友一起跟着siki的丛林战争的教程跟着做来交作业,仅用于学习笔记记录,最终的成品效果也不知道,翻不翻车我们拭目以待(●ˇ∀ˇ●)TCP/IP介绍
IP粗略分类:
公网IP:不可以在本地查询,它是该局域网内的主机对于外界的位置标识,是同一局域网内主机共享的IP。可以通过百度查找得到。(世界坐标系)端口号
一、服务器端——简单收发
① 工程创建
创建服务器项目:TCPServer
② 代码编写
实现步骤
关于IP:我们除了ipconfig 查看到对应IP,也可以填写“127.0.0.1”,这个IP是默认当前主机的IP,如果实在不清楚,就可以直接写这个。
IPaddress: 就是IP地址,即127.0.0.1
IPEndPoint: IP:Port,IP地址加上端口号127.0.0.1:xxxxxx class Program { static void Main(string[] args) { //用于通信的套接字: IP类型,套接字类型:管道通信, 协议:TCP Socket serverScoket = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp); // 定义IP IPAddress ipAddress = IPAddress.Parse("127.0.0.1"); int port = 7788; IPEndPoint iPEndPoint = new IPEndPoint(ipAddress, port); // 绑定IP serverScoket.Bind(iPEndPoint); // 开启监听 serverScoket.Listen(0); } }
关于接收客户端的消息,由于我们不肯定接收的消息的长度,因此Receive()方法会有一个int返回值,是返回的消息的字符数。在转换为字符串的时候,我们需要指明是从第几个位置开始读,读多长的消息内容。
要注意的是:客户端是否关闭,服务器并不能控制,这里仅仅是把连接关闭。 // 等待连接,直到接收到连接请求 Socket clientSocket = serverScoket.Accept(); // 向客户端发送一条消息(二进制) string msgSend = "连接成功,服务器向客户端发送消息..."; byte[] msgByt = System.Text.Encoding.UTF8.GetBytes(msgSend); clientSocket.Send(msgByt); // 定义缓存区,接收客户端发来的消息 byte[] readBuf = new byte[1024]; int count = clientSocket.Receive(readBuf); string msgRecv = System.Text.Encoding.UTF8.GetString(readBuf, 0, count); Console.WriteLine(msgRecv); Console.ReadKey(); // 关闭连接 clientSocket.Close(); serverScoket.Close();
二、客户端——简单收发
具体代码
static void Main(string[] args) { //用于通信的套接字: IP类型,套接字类型:管道通信, 协议:TCP Socket socketClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // 服务器请求连接客户端 socketClient.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7788)); // 客户端接收消息 // 定义缓存区,存储接收到的服务器消息 byte[] readBuf = new byte[1024]; int count = socketClient.Receive(readBuf); string msgRecv = System.Text.Encoding.UTF8.GetString(readBuf, 0, count); // 将消息显示在控制台上 Console.WriteLine(msgRecv); // 客户端向服务器发送消息,发送的消息由用户在控制台输入 string msgSend = Console.ReadLine(); socketClient.Send(System.Text.Encoding.UTF8.GetBytes(msgSend)); Console.ReadKey(); // 关闭连接 socketClient.Close(); }
运行结果
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算