• 控制台下的聊天程序


    整理说明

    1、学习c#时写的示例程序,没有什么价值。

    2、使用的UDP协议。

    示例代码

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Net;
    using System.Net.Sockets;
    using System.Threading;

    namespace talk
    {
    class Program
    {
    staticstring toanyone;
    staticvoid Main(string[] args)
    {
    Thread th
    =new Thread(new ThreadStart(ServerStart));
    th.Start();
    Console.WriteLine(
    "----------欢迎使用聊天程序---------");
    Console.WriteLine(
    "请输入对方ip:");

    toanyone
    = Console.ReadLine();
    do
    {
    Console.WriteLine(
    "请输入您想说的话:");
    string msg = Console.ReadLine();
    if (msg.Trim().ToLower() =="exit")
    {
    Console.WriteLine(
    "退出聊天程序,欢迎再次使用!");
    break;
    }
    else
    {
    SendMessage(msg);
    }
    }
    while (true);
    }

    staticvoid SendMessage(string message)
    {
    UdpClient udpclient
    =new UdpClient(toanyone, 8090);
    byte[] bytes = Encoding.UTF8.GetBytes(message);
    udpclient.Send(bytes, bytes.Length);
    Console.WriteLine(
    "您说:"+ message +""+ DateTime.Now.ToString());
    Console.WriteLine(
    "-------------------------------");
    }
    staticvoid ServerStart()
    {
    Console.WriteLine(
    "-----------开始监听------------");
    UdpClient udplistener
    =new UdpClient(8090);
    IPEndPoint guest
    =new IPEndPoint(IPAddress.Any, 8090);
    while (true)
    {
    string Recevied ="";
    byte[] bytes = udplistener.Receive(ref guest);
    Recevied
    ="信息来自:"+ guest.Address.ToString() +"说:"+ Encoding.UTF8.GetString(bytes);
    Console.WriteLine(Recevied);
    }
    }
    }
    }
  • 相关阅读:
    XML导入数据库
    文件流 +Excel导出
    LINQ
    Lambda
    多线程编程
    反射
    匿名类
    匿名类
    委托与事件
    ubuntu开放指定端口
  • 原文地址:https://www.cnblogs.com/shya/p/1905077.html
Copyright © 2020-2023  润新知