国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實現簡單聊天程序的方法

2020-01-24 01:46:52
字體:
來源:轉載
供稿:網友

本文實例講述了C#簡單聊天程序實現方法。分享給大家供大家參考。具體如下:

假如有服務器端程序,ChatServer和客戶端程序ChatClient.實現客戶端向服務器端發送信息的簡單功能.

運行步驟,

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

using System.Net.Sockets;using System.Net;using System.IO;using System.Threading;public class ChatServer{private int port = 54321; //端口號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;//開始監聽private void btnStartListen_Click(object sender, EventArgs e){   tcpListener= new TcpListener( ip , port);   tcpListener.Start(); //開始監聽   Thread acceptClientMsgThread= new Thread(AcceptClientMsg);   //運行一個線程去處理客戶端發來的信息   acceptClientMsgThread.Start();}//處理客戶端發來的信息private void AcceptClientMsg() {  tcpClient = tcpListener.AcceptTcpClient();  if( tcpClient != null)  {    networkStream = tcpClient.GetStream();    reader = new BinaryReader( networkStream);    while (true){     getInfo += reader.ReadString();  //讀取客戶端發來的信息    }  }}//假如還要顯示信息的話,可以整個顯示按鈕(當然最好的辦法是用些線程)//然后點擊button后讓信息顯示出來txtShowClientMsg.Text = getInfo;//如果服務器端想再給客戶端發信息,就可以整個發送按鈕.然后添加如下代碼//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;//連接serverprivate void btnStartConnect_Click(object sender, EventArgs e){ tcpClient = new TcpClient(); tcpClient.Connect( ip, port); networkStream = tcpClient.GetStream();}//發送信息private void btnStartConnect_Click(object sender, EventArgs e){ string sendMsg = txtSendMsg.Text; writer = new BinaryWriter( networkStream); writer.Write( sendMsg); //發送信息}//如果還要接受server的消息的話.//reader = new BinaryReader( networkStream);//string getInfo = reader.ReadString();}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湛江市| 正镶白旗| 台山市| 敦化市| 邢台县| 呼伦贝尔市| 屏南县| 龙州县| 全椒县| 皮山县| 南木林县| 肃南| 都昌县| 西宁市| 思茅市| 威信县| 咸丰县| 娄底市| 博白县| 兰西县| 乳源| 米易县| 九江市| 望江县| 滦平县| 安福县| 奎屯市| 芜湖市| 高州市| 邻水| 福贡县| 来宾市| 八宿县| 贡嘎县| 拉萨市| 太原市| 青岛市| 青神县| 呼图壁县| 宝坻区| 鄂伦春自治旗|