欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實(shí)現(xiàn)簡(jiǎn)單聊天程序的方法

 更新時(shí)間:2015年06月05日 10:51:22   作者:聰明的笨蛋  
這篇文章主要介紹了C#實(shí)現(xiàn)簡(jiǎn)單聊天程序的方法,實(shí)例分析了C#聊天程序的原理與客戶端、服務(wù)器端的實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了C#簡(jiǎn)單聊天程序?qū)崿F(xiàn)方法。分享給大家供大家參考。具體如下:

假如有服務(wù)器端程序,ChatServer和客戶端程序ChatClient.實(shí)現(xiàn)客戶端向服務(wù)器端發(fā)送信息的簡(jiǎn)單功能.

運(yùn)行步驟,

1.先是服務(wù)器端start listen,
2.然后客戶端connect.
3.客戶端發(fā)送消息
 
只要服務(wù)器端start listen了,然后客戶端也connect了.這樣建立起連接后.接受發(fā)送信息就方便了,只要用writer,reader去操作NetworkStream
 
服務(wù)器ChatServer
創(chuàng)建一個(gè)WinForm頁(yè)面
引用命名空間:

using System.Net.Sockets;
using System.Net;
using System.IO;
using System.Threading;
public class ChatServer
{
private int port = 54321; //端口號(hào)
private IPAddress ip = IPAddress.Parse("10.20.30.40"); //ip地址
private TcpListener tcpListener= null;
private TcpClient tcpClient = null;
private NetworkStream networkStream = null;
private BinaryReader reader;
//private BinaryWriter writer;
private string getInfo = string.empty;
//開始監(jiān)聽
private void btnStartListen_Click(object sender, EventArgs e)
{
   tcpListener= new TcpListener( ip , port);
   tcpListener.Start(); //開始監(jiān)聽
   Thread acceptClientMsgThread= new Thread(AcceptClientMsg);
   //運(yùn)行一個(gè)線程去處理客戶端發(fā)來(lái)的信息
   acceptClientMsgThread.Start();
}
//處理客戶端發(fā)來(lái)的信息
private void AcceptClientMsg()
 {
  tcpClient = tcpListener.AcceptTcpClient();
  if( tcpClient != null)
  {
    networkStream = tcpClient.GetStream();
    reader = new BinaryReader( networkStream);
    while (true){
     getInfo += reader.ReadString();  //讀取客戶端發(fā)來(lái)的信息
    }
  }
}
//假如還要顯示信息的話,可以整個(gè)顯示按鈕(當(dāng)然最好的辦法是用些線程)
//然后點(diǎn)擊button后讓信息顯示出來(lái)txtShowClientMsg.Text = getInfo;
//如果服務(wù)器端想再給客戶端發(fā)信息,就可以整個(gè)發(fā)送按鈕.然后添加如下代碼
//string sendMsg = txtSendMsge.Text;
//writer = new BinaryWriter( networkStream);
//writer.write( sendMsg);
}

客戶端ChatClient

using System.Net.Sockets;
using System.Net;
using System.IO;
using System.Threading;
public class ChatClient
{
 private int port = 54321;
private IPAddress ip = IPAddress.Parse("10.20.30.40");
private TcpClient tcpClient = null;
private NetworkStream networkStream = null;
//private BinaryReader reader;
private BinaryWriter writer;
//連接server
private void btnStartConnect_Click(object sender, EventArgs e)
{
 tcpClient = new TcpClient();
 tcpClient.Connect( ip, port);
 networkStream = tcpClient.GetStream();
}
//發(fā)送信息
private void btnStartConnect_Click(object sender, EventArgs e)
{
 string sendMsg = txtSendMsg.Text;
 writer = new BinaryWriter( networkStream);
 writer.Write( sendMsg); //發(fā)送信息
}
//如果還要接受server的消息的話.
//reader = new BinaryReader( networkStream);
//string getInfo = reader.ReadString();
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C#仿密??üδ艿暮?jiǎn)單實(shí)現(xiàn)代碼

    C#仿密??üδ艿暮?jiǎn)單實(shí)現(xiàn)代碼

    昨天拿C#寫了個(gè)簡(jiǎn)單的密保卡程序(Console的,偷懶了一下 哈哈),實(shí)現(xiàn)了隨機(jī)生成5x5矩陣卡、轉(zhuǎn)換為字符串、從字符串讀取矩陣卡以及簡(jiǎn)單驗(yàn)證的功能
    2013-04-04
  • CDMA 貓用AT命令發(fā)中文短信(C#)

    CDMA 貓用AT命令發(fā)中文短信(C#)

    CDMA貓連PDU都不支持,只能發(fā)文本短信。而且發(fā)中文短信居然是UNICODE,無(wú)法在超級(jí)終端里輸入。只能寫程序。網(wǎng)上這個(gè)問(wèn)題談?wù)摰乇容^多,做起來(lái)比較累,還偶爾會(huì)出亂碼。還是將C#的成功代碼帖一下吧。
    2009-08-08
  • 解決C#全屏幕截圖的實(shí)現(xiàn)方法

    解決C#全屏幕截圖的實(shí)現(xiàn)方法

    本篇文章是對(duì)在C#中實(shí)現(xiàn)全屏幕截圖的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • WINFORM 窗體間的傳值實(shí)現(xiàn)解析

    WINFORM 窗體間的傳值實(shí)現(xiàn)解析

    這篇文章主要介紹了WINFORM 窗體間的傳值實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • C#裝飾器模式(Decorator Pattern)實(shí)例教程

    C#裝飾器模式(Decorator Pattern)實(shí)例教程

    這篇文章主要介紹了C#裝飾器模式(Decorator Pattern),以一個(gè)完整實(shí)例形式講述了C#裝飾器模式的實(shí)現(xiàn)過(guò)程,有助于深入理解C#程序設(shè)計(jì)思想,需要的朋友可以參考下
    2014-09-09
  • C#生成MD5的函數(shù)代碼

    C#生成MD5的函數(shù)代碼

    這篇文章主要介紹了C#生成MD5的函數(shù)代碼,有需要的朋友可以參考一下
    2013-12-12
  • c#的sortedlist使用方法

    c#的sortedlist使用方法

    這篇文章主要介紹了c#的sortedlist使用方法,需要的朋友可以參考下
    2014-05-05
  • c#使用linq技術(shù)創(chuàng)建xml文件的小例子

    c#使用linq技術(shù)創(chuàng)建xml文件的小例子

    c#使用linq技術(shù)創(chuàng)建xml文件的小例子,需要的朋友可以參考一下
    2013-03-03
  • 一文帶你吃透C#中面向?qū)ο蟮南嚓P(guān)知識(shí)

    一文帶你吃透C#中面向?qū)ο蟮南嚓P(guān)知識(shí)

    這篇文章主要為大家詳細(xì)介紹了C#中面向?qū)ο蟮南嚓P(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,需要的小伙伴可以參考一下
    2023-02-02
  • C#中DataTable排序、檢索、合并等操作實(shí)例

    C#中DataTable排序、檢索、合并等操作實(shí)例

    這篇文章主要介紹了C#中DataTable排序、檢索、合并等操作實(shí)例,其中詳細(xì)介紹了DataTable.Select的一些注意問(wèn)題和使用技巧等,需要的朋友可以參考下
    2014-04-04

最新評(píng)論