用Unity开发网络游戏除了使用Unity自带的Network类之外,比较原始的方法就是使用Socket接口了。本文基于.NET平台的Socket接口,编写了一个UDP协议下的简单程序,实现了类似于Echo的功能。具体为客户端向服务器发送一个信息,服务器返回一个应答。代码如下:
C++编写的服务器端(使用Winsock):
#include <stdio.h>
#include <WinSock2.h>
#pragma comment(lib, "ws2_32.lib")
using namespace std;
#define DEF_PORT 1234
#define BUF_SIZE 64
int main(int argc, char* argv[])
{
WSADATA wsaData;
SOCKET srvSock = 0;//服务器socket句柄
sockaddr_in srvAddr,//服务器端地址
clntAddr;//客户端地址
unsigned short port = DEF_PORT;//端口号
int result,//返回结果
addrLen = sizeof(srvAddr);//地址长度
char recvBuf[BUF_SIZE];//服务器接收端缓冲区
char answer[] = "Hello,I'm simplatform server!"; //应答
//初始化套接字
WORD socketVersion = MAKEWORD(2, 2);
if (WSAStartup(socketVersion, &