Socket socket = listener.Accept();
socket.Receive();
socket.Receive();
解决方案 »
- c#怎样载入桌面?
- 关于一个正则表达式 求分析
- reportviewer建立数据源能不能用mysql?
- C# winform怎样对datatable绑定到datagridview的行,列进行过滤操作?
- C#调用MFC扩展dll??急,急
- winform的问题
- 请问如何用C#实现水晶报表的打印预览! 不使用crystalReportViewer 控件
- 错误:Visual Studio .NET已检测到指定的Web服务器运行的不是ASP.NET 1.1 版
- 怎样用程序自动解压用winrar压缩的文件
- 绘制直线、巨型以及在用户模式下编辑所画的对象,如何解决?
- ODAC与oracle client的兼容性问题
- 求助!线程访问数据库,高手快来
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Server is running ... ");
IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 });
TcpListener listener = new TcpListener(ip, 8500);
listener.Start(); // 开始侦听
Console.WriteLine("Start Listening ...");
Console.WriteLine(@"\n\n输入\ Q\ 键退出。");
ConsoleKey key;
byte[] m_RecvDataBuffer = new byte[0x10000];
Socket socketlisten = listener.AcceptSocket();
int Count = socketlisten.Receive(m_RecvDataBuffer);//只接受一次,线程会被堵塞在此,除非有数据包进来
byte[] receiveBuffer = new byte[Count];
Buffer.BlockCopy(m_RecvDataBuffer, 0, receiveBuffer, 0, Count);
if (Count > 0)
{
foreach (byte by in receiveBuffer)
{
Console.WriteLine(by);
}
}
do
{
key = Console.ReadKey(true).Key; } while (key != ConsoleKey.Q);
}
}
测试代码Socket send = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
if (!send.Connected)
{
send.Connect("127.0.0.1", 8500);
}
byte[] by = new byte[]{
11,12,13};
send.Send(by);
IPAddress ip = IPAddress.Parse("127.0.0.1");
TcpListener listener = new TcpListener(ip, 9999);
listener.Start();//开始侦听
Console.WriteLine("开始侦听");
while(true)
{
TcpClient tcpclient = listener.AcceptTcpClient();
Console.WriteLine("连接成功{0}-->{1}", tcpclient.Client.RemoteEndPoint.ToString(), tcpclient.Client.LocalEndPoint.ToString());
NetworkStream ns = tcpclient.GetStream();
StreamReader sread = new StreamReader(ns);
Console.WriteLine(sread.ReadToEnd());
}