首先是sever端口
using System;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace _301
{
class Program
{
private static byte[] result = new Byte[1024];
private static int myport = 8012;
static Socket serverSocket;
static void Main(string[] args)
{
IPAddress ip = IPAddress.Parse("127.0.0.1");//服务器的IP
serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
serverSocket.Bind(new IPEndPoint(ip, myport));
serverSocket.Listen(10);
Console.WriteLine("启动监听{0}", serverSocket.LocalEndPoint.ToString());
string sendMessage = "007007";
Socket clientsocket = serverSocket.Accept();
string s_result = null;
while (s_result!="exit")
{
clientsocket.Send(Encoding.ASCII.GetBytes(sendMessage));
Console.WriteLine("向客户端发消息{0}", sendMessage);
int receiveNumber = clientsocket.Receive(result);
Console.WriteLine("接受客户端{0}消息{1}", clientsocket.RemoteEndPoint.ToString(), Encoding.ASCII.GetString(result, 0, receiveNumber));
s_result=Encoding.ASCII.GetString(result,0,receiveNumber);
}
clientsocket.Shutdown(SocketShutdown.Both);
clientsocket.Close();
Console.ReadLine();
}
}
}
#############################################################################
然后是CLIENT端口
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Net;
namespace TCP1
{
class Program
{
private static byte[] result = new Byte[1024];
static void Main(string[] args)
{//创建套接字
IPAddress ip = IPAddress.Parse("127.0.0.1");
Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//2.连接
try
{
clientSocket.Connect(new IPEndPoint(ip, 8012));
Console.WriteLine("连接服务器成功!");
}
catch
{
Console.WriteLine("连接服务器失败,请按回车键退出");
return;
}
//3.收发数据
string s_result = null;
while (s_result != "exit")
{
int receiveLength = clientSocket.Receive(result);
Console.WriteLine("接收服务器消息:{0}", Encoding.ASCII.GetString(result, 0, receiveLength));
string sendMessage = "client send Message Hello";
clientSocket.Send(Encoding.ASCII.GetBytes(sendMessage));
Console.WriteLine("向服务器发送消息:{0}", sendMessage);
//4.释放连接
}
clientSocket.Shutdown(SocketShutdown.Both);
//关闭套接字
clientSocket.Close();
Console.ReadLine();
Console.ReadKey();
}
}
}