上篇带大家大概了解了Socket,这篇带大家通过一个例子,更深入理解Socket如何实现TCP协议通信的。
Socket原理:服务端有一个进程(或者多个进程)在指定端口等待客户来连接,客户端向服务端发出连接请求,一旦连接上之后,就可以进行数据的传输(客户端向服务端发送数据,并接收到服务端的应答)。
先看Demo:
服务端:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
namespace SocketTCPService
{
class Program
{
/// <summary>
/// Service-赵寒-2016-10-11
/// </summary>
public static int i;
static void Main(string[] args)
{
System.Console.WriteLine(DateTime.Now + "\nTCP服务端端-C#实现效果");
try
{
int port = 2000;
string host = "127.0.0.1";
IPAddress ip = IPAddress.Parse(host);
IPEndPoint ipe = new IPEndPoint(ip, port);
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个Socket类
s.Bind(ipe);//绑定2000端口
s.Listen(0);//开始监听
Console.WriteLine("\nStart Listen!\nWait for connect");
Socket temp = s.Accept();//为新建连接