tcpServe服务器端

2017-02-09  本文已影响0人  萧非子

using System;

using System.Collections.Generic;

using System.Linq;

using System.Net.Sockets;

using System.Net;

using System.Text;

using System.Threading.Tasks;

namespace TCPSocketServer

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("服务端已经启动");

// 服务器端Socket

// 1. 创建了一个 Socket连接对象  参数:(1、寻址方案, 2、Socket数据传输格式, 3、Socket数据传输协议)

Socket tcpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

// 包装一个IP地址。  通过byte数组来传递。  每一个元素,代表IP地址的一段。总共4段

IPAddress address = new IPAddress(new byte[]{192,168,1,85});

// ipPoint 里面就包含了 IP地址信息和端口信息

IPEndPoint ipPoint = new IPEndPoint(address,12358);

//2. 绑定IP地址和端口

tcpServer.Bind(ipPoint);

//3. 监听,或者说允许多少个客户端访问

tcpServer.Listen(25);

//4. 等待客户端的连接,会卡住当前线程, 如果有客户端连接上,那么就返回这个客户端的信息。 所以返回值类型是Socket

Socket clientSocket = tcpServer.Accept();

string sendMessage = "Hello Welcome Connect!";

// 5. 给连接上的客户端发送消息。 发送的内容要求是byte ,所以我们要对传递的字符串做一个转换

clientSocket.Send(Encoding.UTF8.GetBytes(sendMessage));

// 6. 接收客户端的消息

byte[] reciveData = new byte[1024];

int dataLength = clientSocket.Receive(reciveData);

//把byte数组中的数据转换成字符串

string receiveString = Encoding.UTF8.GetString(reciveData, 0, dataLength);

Console.WriteLine("接收到客户端的消息" + receiveString);

Console.WriteLine("程序执行完毕");

Console.ReadKey();

}

}

}

上一篇下一篇

猜你喜欢

热点阅读