zoukankan      html  css  js  c++  java
  • C#TcpClient TcpListener客户端服务器程序

    服务器程序:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;
    using System.Net.Sockets;
    using System.IO;
    using System.Threading;
    namespace SocketServer
    {
        class Program
        {
            public void ProcessConnection(Object client)
            {
                TcpClient tcpClient = (TcpClient)client;
                NetworkStream networkStream = tcpClient.GetStream();
                BinaryReader br = new BinaryReader(networkStream);
                BinaryWriter bw = new BinaryWriter(networkStream);
                while (true)
                {
                    try
                    {
                        string sReader = br.ReadString(); //接收消息
                        Console.WriteLine(sReader); //打印消息
                        string sWriter = "接收到消息";
                        bw.Write(sWriter);   //向对方发送消息
                    }
                    catch
                    {
                        break;
                    }
                }
            }
            static void Main()
            {
                Program p = new Program();
                IPAddress localAddress;      //IP地址
                int port = 51888;     //端口
                TcpListener tcpListener;  //监听套接字
                TcpClient tcpClient;     
                IPAddress[] listenIp = Dns.GetHostAddresses("127.0.0.1");
                localAddress = listenIp[0];
                tcpListener = new TcpListener(localAddress, port);
                tcpListener.Start(); //开始监听
                while (true)
                {
                    try
                    {
                        tcpClient = tcpListener.AcceptTcpClient();//每接受一个客户端则生成一个TcpClient
                        Thread thread = new Thread(p.ProcessConnection); //用一个线程单独处理这个连接
                        thread.Start(tcpClient);
                    }
                    catch
                    {
                        break;
                    }
                }
            }
        }
    }
    客户端程序:
    <pre name="code" class="csharp">using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;
    using System.Net.Sockets;
    using System.IO;
    namespace SocketClient
    {
        class Program
        {
            static void Main()
            {
                TcpClient tcpClient;   
                tcpClient = new TcpClient();  //创建一个TcpClient对象,自动分配主机IP地址和端口号
                tcpClient.Connect("127.0.0.1", 51888);   //连接服务器,其IP和端口号为127.0.0.1和51888
                if (tcpClient != null)
                {
                    Console.WriteLine("连接服务器成功");
                    NetworkStream networkStream= tcpClient.GetStream();
                    BinaryReader br = new BinaryReader(networkStream);
                    BinaryWriter bw = new BinaryWriter(networkStream);
                    bw.Write("你好服务器,我是客户端");  //向服务器发送字符串
                    while (true)        
                    {
                        try
                        {
                            string brString = br.ReadString();     //接收服务器发送的数据
                            if (brString != null)
                            {
                                Console.WriteLine("接收到服务器发送的数据{0}", brString);
                            }
                        }
                        catch
                        {
                            break;        //接收过程中如果出现异常,将推出循环
                        }
                    }
                }
                Console.WriteLine("连接服务器失败");
            }
        }
    }


    
    

  • 相关阅读:
    博客中添加音乐播放器插件
    博客添加鼠标点击特效
    用好fastboot命令,刷机加锁不用再找工具!
    使用移动终端管理(MDM)轻松进行远程故障排除
    在IT资产生命周期中节省成本的方法:Part 3 维护和支持
    如何做好进程监控?
    OpManager引领智能运维未来的发展方向
    终端安全解决方案如何帮助保护数字化工作空间中的设备
    如何抵御MFA验证攻击
    为什么需要对网络环境进行IP扫描?
  • 原文地址:https://www.cnblogs.com/zztong/p/6695188.html
Copyright © 2011-2022 走看看