資源簡介
C# socket實現簡單的聊天功能
C# socket實現簡單的聊天功能
C# socket實現簡單的聊天功能

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Text;
using?System.Windows.Forms;
using?System.Net;
using?System.Net.Sockets;
namespace?TalkingClient
{
????public?partial?class?Login?:?Form
????{
????????///?
????????///?ip地址
????????///?
????????private?IPAddress?ipAddr;
????????///?
????????///?端口
????????///?
????????private?int?port;
????????public?Login()
????????{
????????????InitializeComponent();
????????}
????????private?void?btnClose_Click(object?sender?EventArgs?e)
????????{
????????????this.Close();
????????}
????????private?void?Login_Load(object?sender?EventArgs?e)
????????{
????????????txtIP.Text?=?“192.168.10.45“;
????????????txtPort.Text?=?“8888“;
????????}
????????private?void?btnLogin_Click(object?sender?EventArgs?e)
????????{
????????????if?(!ValidateInfo())
????????????{
????????????????return;
????????????}
????????????//向服務器發出連接請求
????????????TCPConnection?conn?=?new?TCPConnection(ipAddr?port);
????????????TcpClient?tcpc=?conn.Connect();
????????????if?(tcpc?==?null)
????????????{
????????????????MessageBox.Show(“無法連接服務器!“?
??????????????????????????????????????????“錯誤“
??????????????????????????????????????????MessageBoxButtons.OK
??????????????????????????????????????????MessageBoxIcon.Exclamation);
????????????}
????????????else
????????????{
????????????????NetworkStream?netStream?=?tcpc.GetStream();//提供用于訪問網絡的基本數據線
????????????????string?userName=txtUserName.Text.Trim();
????????????????//向服務器發送用戶名以及確認身份
????????????????netStream.Write(Encoding.Unicode.GetBytes(userName)0Encoding.Unicode.GetBytes(userName).Length);
????????????????//獲取登入結果并寫入buffer
????????????????byte[]?buffer?=?new?byte[50];
????????????????netStream.Read(buffer?0?buffer.Length);
????????????????string?connResult?=?Encoding.Unicode.GetString(buffer).TrimEnd(‘\0‘);
????????????????if?(connResult.Equals(“cmd::Failure“))
????????????????{
????????????????????MessageBox.Show(“您的用戶名已經被使用,請嘗試其他用戶名!“
????????????????????????????????????“溫馨提示“
????????????????????????????????????MessageBoxButtons.OK
????????????????????????????????????MessageBoxIcon.Information);
????????????????}
????????????????else
????????????????{
????????????????????string?serverName=ipAddr+“:“+port;
????????????????????Talking?talking?=?new?Talking(userName?serverName?netStream);
????????????????????talking.Owner?=?this;
????????????????????this.Hide();
????????????????????talking.Show();
????????????????}
????????????}
????????}
????????///?
????????///?驗證登入信息
????????///?
????????///?
????????private?bool?ValidateInfo()
????????{
????????????if?(!IPAddress.TryParse(txtIP.Text.Trim()?out?ipAddr))
????????????{
????????????????MessageBox.Show(“IP地址不合法!“?
???????????????????????????????????????????“溫馨提示“
?????????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????10134??2011-08-05?14:50??TalkingSolution\TalkingClient\AquaOS.ico
?????文件?????169472??2011-08-05?16:27??TalkingSolution\TalkingClient\bin\Debug\TalkingClient.exe
?????文件??????50688??2011-08-05?16:27??TalkingSolution\TalkingClient\bin\Debug\TalkingClient.pdb
?????文件??????14328??2011-08-05?16:27??TalkingSolution\TalkingClient\bin\Debug\TalkingClient.vshost.exe
?????文件????????490??2007-07-21?01:33??TalkingSolution\TalkingClient\bin\Debug\TalkingClient.vshost.exe.manifest
?????文件???????4208??2011-08-05?15:47??TalkingSolution\TalkingClient\Login.cs
?????文件???????6630??2011-08-05?15:47??TalkingSolution\TalkingClient\Login.Designer.cs
?????文件??????21312??2011-08-05?15:47??TalkingSolution\TalkingClient\Login.resx
?????文件???????1696??2011-08-05?16:27??TalkingSolution\TalkingClient\obj\Debug\TalkingClient.csproj.FileListAbsolute.txt
?????文件????????983??2011-08-05?16:23??TalkingSolution\TalkingClient\obj\Debug\TalkingClient.csproj.GenerateResource.Cache
?????文件?????169472??2011-08-05?16:27??TalkingSolution\TalkingClient\obj\Debug\TalkingClient.exe
?????文件??????10700??2011-08-05?15:47??TalkingSolution\TalkingClient\obj\Debug\TalkingClient.Login.resources
?????文件??????50688??2011-08-05?16:27??TalkingSolution\TalkingClient\obj\Debug\TalkingClient.pdb
?????文件?????101742??2011-08-05?14:50??TalkingSolution\TalkingClient\obj\Debug\TalkingClient.Properties.Resources.resources
?????文件??????23792??2011-08-05?16:23??TalkingSolution\TalkingClient\obj\Debug\TalkingClient.Talking.resources
?????文件???????4608??2011-08-04?20:57??TalkingSolution\TalkingClient\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll
?????文件????????474??2011-08-04?10:31??TalkingSolution\TalkingClient\Program.cs
?????文件???????1372??2011-08-04?09:12??TalkingSolution\TalkingClient\Properties\AssemblyInfo.cs
?????文件???????3240??2011-08-04?20:57??TalkingSolution\TalkingClient\Properties\Resources.Designer.cs
?????文件???????6423??2011-08-04?20:57??TalkingSolution\TalkingClient\Properties\Resources.resx
?????文件???????1098??2011-08-04?09:12??TalkingSolution\TalkingClient\Properties\Settings.Designer.cs
?????文件????????249??2011-08-04?09:12??TalkingSolution\TalkingClient\Properties\Settings.settings
?????文件??????10134??2011-08-05?11:43??TalkingSolution\TalkingClient\Resources\AquaOS.ico
?????文件???????7258??2011-08-04?20:56??TalkingSolution\TalkingClient\Resources\msg.wav
?????文件??????94252??2011-08-04?20:56??TalkingSolution\TalkingClient\Resources\nudge.wav
?????文件??????17164??2011-08-05?16:27??TalkingSolution\TalkingClient\Talking.cs
?????文件??????14931??2011-08-05?16:23??TalkingSolution\TalkingClient\Talking.Designer.cs
?????文件??????40987??2011-08-05?16:23??TalkingSolution\TalkingClient\Talking.resx
?????文件???????4013??2011-08-05?14:50??TalkingSolution\TalkingClient\TalkingClient.csproj
?????文件????????912??2011-08-04?11:06??TalkingSolution\TalkingClient\TCPConnection.cs
............此處省略33個文件信息
評論
共有 條評論