110,545
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace server
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("server:");
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, 8625);
server.Bind(endpoint);
server.Listen(10);
server.BeginAccept(new AsyncCallback(Accpcallback), server);
Console.ReadLine();
}
private static void Accpcallback(IAsyncResult ar)
{
Socket server = (Socket)ar.AsyncState;
Socket client = server.EndAccept(ar);
string remoteendpoint = client.RemoteEndPoint.ToString();
Console.WriteLine($"已接受客户端{remoteendpoint}的连接");
//===假设aaa是客户端发来的信息
string aaa = "";
if (aaa == "123456")
{
Console.WriteLine("数据库 有 这条信息");
}
else
{
Console.WriteLine("数据库 没有 这条信息");
}
server.BeginAccept(new AsyncCallback(Accpcallback), server);
}
}
}
using System;
using System.Text;
using System.Net.Sockets;
namespace tcpclient
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("client:");
Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
client.Connect("192.168.88.223", 8625);
string remoteendpoint = client.RemoteEndPoint.ToString();
Console.WriteLine($"成功连接服务器至{remoteendpoint}");
//===发送一条信息给服务器
string aaa = "123456";
}
catch (SocketException ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
MarshalEndian mersha = new MarshalEndian();
byte[] buffer = mersha.Encode(UTF8Encoding.UTF8.GetBytes(aaa));
client.Send(buffer, 0, buffer.Length, SocketFlags.None);
byte[] data = new byte[1024 * 10];
int le = login.client.Receive(data);
string res = Encoding.UTF8.GetString(data, 0, le);
string res = Encoding.UTF8.GetString(data, 0, le);
服务器端也需要接受发送代码
byte[] result = new byte[1024];
client.Receive(result);
ReceiveMessage = Encoding.UTF8.GetString(result);
string aaa = "数据库 有 这条信息";
byte[] buffer = mersha.Encode(UTF8Encoding.UTF8.GetBytes(aaa));
client.Send(buffer, 0, buffer.Length, SocketFlags.None);