服务器端代码案例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//=========打开命名空间
using System.Net;
using System.Net.Sockets;
//=========
namespace server
{
class ServerProgram
{
static void Main(string[] args)
{
int port = 8888;
string host = "127.0.0.1";
IPAddress ip = IPAddress.Parse(host);
IPEndPoint point = new IPEndPoint(ip,port);
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// 绑定
socket.Bind(point);
// 监听
socket.Listen(0);
bool flag = true;
while(flag){
Socket client = socket.Accept();
// 接收消息
byte[] receiveBT= new byte[1024];
int bytes;
bytes = client.Receive(receiveBT, receiveBT.Length, 0);
string receiveStr = Encoding.ASCII.GetString(receiveBT, 0, bytes);
Console.WriteLine("client message: {0}", receiveStr);
// 发送消息
string sendStr = "hello client , send message successful";
byte[] sendBT = Encoding.ASCII.GetBytes(sendStr);
client.Send(sendBT,sendBT.Length,0);
// 关闭连接
client.Close();
}
socket.Close();
}
}
}
客户端代码案例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//=========打开命名空间
using System.Net;
using System.Net.Sockets;
//=========
namespace client
{
class ClientProgram
{
static void Main(string[] args)
{
int port = 8888;
string host = "127.0.0.1";
IPAddress ip = IPAddress.Parse(host);
IPEndPoint point = new IPEndPoint(ip, port);
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(point);
// 发送消息
string sendMsg = "hello server ,this is client message";
byte[] bytes = Encoding.ASCII.GetBytes(sendMsg);
socket.Send(bytes);
// 接收消息
byte[] receiveBT = new byte[1024];
int count = socket.Receive(receiveBT);
String receiveMsg = Encoding.ASCII.GetString(receiveBT,0,count);
Console.WriteLine("receive server message : {0}",receiveMsg);
// 关闭socket
socket.Close();
Console.ReadLine();
}
}
}