[Unity]简单的socket客户端和服务器
来源:互联网 发布:双系统怎样重装ubuntu 编辑:程序博客网 时间:2024/05/16 17:30
Unity socket
Socket译为套接字,支持TCP/IP协议网络通信的基本操作单元,可以将套接字看做不同主机间的进程双向通信的端点。
Socket的通信流程
(1) 开启一个连接之前,需要新创建一个socket,然后将地址和端口绑定给这个sockrt,客户端在调用connect的时候,会由系统自动分配端口,因此可以省去bind
(2) 服务器开启监听
(3) 客户端连接服务器,服务器通过accept接收客户端连接
(4) 客户端和服务器通过write和read发送和接收数据
(5) 通过close关闭连接
服务器端
using System;using System.Net;using System.Net.Sockets;namespace server{ class Program { static void Main(string[] args) { Socket listenfd = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个套接字,第一个参数是地址族,第二个是套接字类型,游戏一般是stream,第三个是使用的协议 IPAddress ipAdr = IPAddress.Parse("127.0.0.1");//ip地址 IPEndPoint ipEp = new IPEndPoint(ipAdr, 1234);//ip地址和端口号 listenfd.Bind(ipEp);//给套接字绑定 listenfd.Listen(0);//开启监听,等待连接 Console.WriteLine("服务器启动成功"); while (true) { Socket connfd = listenfd.Accept();//接受客户端的连接,本例中所有的socket方法都是阻塞方法,accept返回新客户端的socket Console.WriteLine("服务器accept"); byte[] readBuff = new byte[1024]; int count = connfd.Receive(readBuff);//接收到的信息存在readBuff中 string str = System.Text.Encoding.UTF8.GetString(readBuff, 0, count);//将字节转化为字符串 Console.WriteLine("服务器接收" + str); byte[] bytes = System.Text.Encoding.Default.GetBytes("server " + str); connfd.Send(bytes);//给客户端发消息 } } }}
客户端
using System;using System.Net.Sockets;namespace client{ class Program { static void Main(string[] args) { const int BUFFER_SISE = 1024; byte[] readBuff = new byte[BUFFER_SISE]; Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect("127.0.0.1", 1234); String str = "cat"; byte[] bytes = System.Text.Encoding.Default.GetBytes(str); socket.Send(bytes); int count = socket.Receive(readBuff); str = System.Text.Encoding.UTF8.GetString(readBuff, 0, count); Console.Write(str); socket.Close(); Console.Read(); } }}
阅读全文
0 0
- [Unity]简单的socket客户端和服务器
- python简单的socket 服务器和客户端
- 简单的python socket服务器和客户端
- unity简单服务器和客户端
- 最简单的Windows Socket代码,包括服务器和客户端
- Linux socket编程-最简单的服务器和客户端程序
- 简单的TCP 流式socket 服务器和客户端代码示例
- Linux socket编程-最简单的服务器和客户端程序
- linux socket 编程一:简单的服务器和客户端通信
- socket实现简单的echo应答服务器和客户端
- 简单Socket实现客户端和服务器连接
- Socket 简单实现服务器和客户端
- 什么是socket?什么是socket的长、短连接?java如何简单实现socket客户端和服务器?
- 简单socket服务器客户端
- 简单的socket 服务器/客户端 程序
- socket通信 简单的客户端和服务器的通信 服务器的代码
- socket 服务器和客户端
- 服务器和客户端的socket编程
- css 手风琴菜单效果,图片动画
- 软考错题合集之14-11-AM
- 本周互动留言抽奖结果公布!!
- @Controller和@RestController的区别
- 打砖块
- [Unity]简单的socket客户端和服务器
- java.nio.channels.IllegalBlockingModeException
- 在windows下运行Measuring the objectness of image windows的代码objectness-release-v2.2的方法
- CentOS中Mysql定时备份
- maysql_having
- 【Go】协程
- Sql 数据查询区分大小写方法
- python Global和Return用法
- 解决:Ubuntu14.04使用vi编辑器时输入异常且按方向键乱码