110,538
社区成员
发帖
与我相关
我的任务
分享
using System.Net.Sockets;
void send(string data)
{
Socket _socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//参数: IP地址 , 端口号
_socket.Connect("192.168.0.101", 1234);
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(body);
_socket.Send(buffer.ToArray(), buffer.Count, 0);
//接收对方答复
MemoryStream ms = new MemoryStream();
while (_socket.Connected)
{
byte[] buffer = new byte[1024];
int bytesRead = _socket.Receive(buffer, buffer.Length , 0);
if (bytesRead > 0)
ms.Write(responseBuffer, 0, bytesRead);
else
break;
}
// 接收到的数据在ms中 , 做你想做的事
}
服务端
using System.Net.Sockets;
protected TcpListener _Listener;
public void Start(int port)
{
if (_Listener == null)
_Listener = new TcpListener(System.Net.IPAddress.Any, port);
Thread thread1 = new Thread(new ThreadStart(listen));
thread1.Start();
}
protected void listen()
{
_Listener.Start();
while (true)
{
TcpClient client = _Listener.AcceptTcpClient();
ParameterizedThreadStart ParStart = new ParameterizedThreadStart(deal);
Thread thread2 = new Thread(ParStart);
thread2.Start(client);
}
}
protected void deal(object client)
{
int bufferSize = 1024;
NetworkStream stream = ((TcpClient)client).GetStream();
byte[] buffer = new byte[bufferSize];
int readBytes = 0;
//将客户端流读入到buffer中
readBytes = stream.Read(buffer, 0, bufferSize);
string request = Encoding.UTF8.GetString(buffer);
if(request == "NIHAO")
{
//做出应答
Byte[] Buffer = Encoding.UTF8.GetBytes("NIHAO2");
stream.Write(Buffer, 0, Buffer.Length);
stream.Flush();
stream.Close();
((TcpClient)client).Close();
}
}