首页 > 代码库 > C# socket网络编程 基于TCP协议
C# socket网络编程 基于TCP协议
socket 服务器端:
1.创建socket
Socket tcpClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//三个参数分别为枚举类型(网络),Socket类型,协议
2.绑定ip和端口号
IPAddress ipAddress = new IPAddress(new byte[] {192,168,119,1});
EndPoint point =new IPEndPoint(ipAddress,8811);
tcpServer .Bind(point);//绑定方法Bind(),IPEndPoint()封装ip和端口
3.开始监听
tcpServer.Listen(100);//参数为最大连接数
4.接收客户端
Socket clientSocket= tcpServer.Accept();
5.给客户端发信息
string message = "hello welcome!";
byte[] date = Encoding.UTF8.GetBytes(message);//Encoding()转码
clientSocket.Send(date);
6.接收客户端信息
byte[] date2=new byte[1024];
int length = clientSocket.Receive(date2);
string message2 = Encoding.UTF8.GetString(date2, 0, length);
Console.WriteLine("客户端发信息过来:"+message2);
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace SocketServer
{
class Program
{
static void Main(string[] args)
{
Socket tcpServer =new Socket( AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);
IPAddress ipAddress = new IPAddress(new byte[] {192,168,191,1});
EndPoint point =new IPEndPoint(ipAddress,8811);
tcpServer .Bind(point);
tcpServer.Listen(100);
Console.WriteLine("开始监听");
Socket clientSocket= tcpServer.Accept();
Console.WriteLine("一个客户端链接过来");
string message = "hello welcome!";
byte[] date = Encoding.UTF8.GetBytes(message);
clientSocket.Send(date);
byte[] date2=new byte[1024];
int length = clientSocket.Receive(date2);
string message2 = Encoding.UTF8.GetString(date2, 0, length);
Console.WriteLine("客户端发信息过来:"+message2);
Console.ReadKey();
}
}
}
socket 客户端
1.创建socket
2.发起请求
tcpClient.Connect();
3.接收服务器端信息
4.向服务器端发信息
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace SocketClient
{
class Program
{
static void Main(string[] args)
{
Socket tcpClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress ipAddress=new IPAddress(new byte[]{192,168,191,1});
EndPoint point =new IPEndPoint(ipAddress,8811);
tcpClient.Connect(point);
byte[] date = new byte[1024];
int length= tcpClient.Receive(date);
string message = Encoding.UTF8.GetString(date, 0, length);
Console.WriteLine("服务器端发过来的信息:"+message);
string message2 = Console.ReadLine();
tcpClient.Send(Encoding.UTF8.GetBytes(message2));
Console.ReadKey();
}
}
}
C# socket网络编程 基于TCP协议