資源簡介
實驗內容:基于服務器的客戶端相互直接通信,具體要求包括:
1,Server支持多客戶訪問;
2,C與S之間使用TCP連接;
3,C與C之間直接通信(不是通過S傳遞)。
4,C與C之間直接通信既可以使用TCP,也可以使用UDP。
5,可以使用Socket,也可以使用TcpClient/UdpClient等;
6,實驗示意圖如下:

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Threading.Tasks;
using?System.Windows.Forms;
using?System.Net;
using?System.Net.Sockets;
using?System.Threading;
namespace?SyncChatServer//================================服務器
{
????public?partial?class?Form1?:?Form
????{
????????//保存用戶列表
????????private?List?userList?=?new?List();?????
????????//監聽socket??
????????private?Socket?myListener?=?new?Socket(AddressFamily.InterNetworkSocketType.StreamProtocolType.Tcp);
????????private?bool?isNormalExit?=?false;
????????//端口號
????????private?static?int?myprot?=?8889;
????????//用戶人數
????????private?static?int?usercount?=?0;
????????public?Form1()
????????{
????????????InitializeComponent();
????????????button2.Enabled=false;
????????????IPEndPoint?ep;
????????????//---------------------------------------主機IP和端口的綁定
????????????/*string?name?=?Dns.GetHostName();
????????????IPHostEntry?me?=?Dns.GetHostEntry(name);
????????????foreach?(IPAddress?ips?in?me.AddressList)
????????????{
????????????????try?{
????????????????????//?ep?=?new?IPEndPoint(ips?myprot);
????????????????????ep?=?new?IPEndPoint(ipsmyprot);
????????????????????myListener.Bind(ep);
????????????????????label6.Text?=?ips.ToString();?????????????????????//顯示主機IP
????????????????????richTextBox1.AppendText(“主機IP:“+ips.ToString()?+?“\n“);
????????????????????break;
????????????????}
????????????????catch?{
????????????????????//若獲取的IP是vs6的話
????????????????}
????????????}*/
????????????IPAddress?ip?=?IPAddress.Parse(“127.0.0.1“);
????????????try
????????????{
????????????????myListener.Bind(new?IPEndPoint(ip?myprot));
????????????????richTextBox1.AppendText(“主機IP:“?+?ip.ToString()?+?“\n“);
????????????}
????????????catch?{
????????????????richTextBox1.AppendText(“綁定失敗“);
????????????}
????????????//===================================================???
????????????
????????}
????????//-------------------------------------------向窗口輸出信息
????????private?delegate?void?buttu_richBoxDelegate(string?message);
????????private?void??buttu_richBox(string?message)
????????{
????????????richTextBox1.AppendText(message+“\n“);
????????}
????????//=======================================================
????????//-------------------------------------------------------監聽按鍵
????????private?void?button1_Click(object?sender?EventArgs?e)
????????{
????????????isNormalExit?=?false;
????????????buttu_richBoxDelegate?d=buttu_richBox;
???????????try
???????????{
????????????myListener.Listen(10);
???????????????richTextBox1.Invoke(d“成功監聽.“);
???????????}catch{
???????????????richTextBox1.Invoke(d“監聽失敗。“);
???????????}
????????????Thread?mhThread=new?Thread(ListenClientConnect);
????????????mhThread.IsBackground=true;
????????????mhThread.Start();
????????????button1.Enabled=false;
????????????butt
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1509??2014-03-19?09:57??C-C通信實驗\CSapplication.sln
????..A..H.?????49664??2014-03-18?00:41??C-C通信實驗\CSapplication.suo
????..A..H.?????62464??2014-04-11?23:10??C-C通信實驗\CSapplication.v11.suo
????..A..H.?????68608??2014-04-11?08:12??C-C通信實驗\CSapplication.v12.suo
?????文件????????187??2014-03-17?20:54??C-C通信實驗\SyncChatServer\App.config
?????文件??????18944??2014-04-11?12:58??C-C通信實驗\SyncChatServer\bin\Debug\SyncChatServer.exe
?????文件????????187??2014-03-17?20:54??C-C通信實驗\SyncChatServer\bin\Debug\SyncChatServer.exe.config
?????文件??????48640??2014-04-11?12:58??C-C通信實驗\SyncChatServer\bin\Debug\SyncChatServer.pdb
?????文件??????22984??2014-04-11?22:53??C-C通信實驗\SyncChatServer\bin\Debug\SyncChatServer.vshost.exe
?????文件????????187??2014-03-17?20:54??C-C通信實驗\SyncChatServer\bin\Debug\SyncChatServer.vshost.exe.config
?????文件????????490??2010-03-17?22:39??C-C通信實驗\SyncChatServer\bin\Debug\SyncChatServer.vshost.exe.manifest
?????文件??????14142??2014-04-11?12:58??C-C通信實驗\SyncChatServer\Form1.cs
?????文件???????9551??2014-04-11?12:58??C-C通信實驗\SyncChatServer\Form1.Designer.cs
?????文件???????5817??2014-04-11?12:58??C-C通信實驗\SyncChatServer\Form1.resx
?????文件????????863??2014-04-11?09:17??C-C通信實驗\SyncChatServer\obj\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件???????6975??2014-04-11?13:04??C-C通信實驗\SyncChatServer\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件???????2363??2014-04-11?22:53??C-C通信實驗\SyncChatServer\obj\Debug\SocketServer.csproj.FileListAbsolute.txt
?????文件????????975??2014-04-11?12:58??C-C通信實驗\SyncChatServer\obj\Debug\SocketServer.csproj.GenerateResource.Cache
?????文件???????2209??2014-04-11?09:22??C-C通信實驗\SyncChatServer\obj\Debug\SocketServer.csprojResolveAssemblyReference.cache
?????文件???????1194??2014-03-19?09:55??C-C通信實驗\SyncChatServer\obj\Debug\SyncChatServer.csproj.FileListAbsolute.txt
?????文件????????977??2014-03-18?22:28??C-C通信實驗\SyncChatServer\obj\Debug\SyncChatServer.csproj.GenerateResource.Cache
?????文件???????2211??2014-03-17?22:42??C-C通信實驗\SyncChatServer\obj\Debug\SyncChatServer.csprojResolveAssemblyReference.cache
?????文件??????18944??2014-04-11?12:58??C-C通信實驗\SyncChatServer\obj\Debug\SyncChatServer.exe
?????文件????????180??2014-04-11?12:58??C-C通信實驗\SyncChatServer\obj\Debug\SyncChatServer.Form1.resources
?????文件??????48640??2014-04-11?12:58??C-C通信實驗\SyncChatServer\obj\Debug\SyncChatServer.pdb
?????文件????????180??2014-03-17?22:42??C-C通信實驗\SyncChatServer\obj\Debug\SyncChatServer.Properties.Resources.resources
?????文件??????????0??2014-03-17?20:54??C-C通信實驗\SyncChatServer\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
?????文件??????????0??2014-03-17?20:54??C-C通信實驗\SyncChatServer\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
?????文件??????????0??2014-03-17?20:54??C-C通信實驗\SyncChatServer\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
?????文件????????526??2014-03-17?20:54??C-C通信實驗\SyncChatServer\Program.cs
............此處省略58個文件信息
- 上一篇:C# 學生選課系統~附上數據庫
- 下一篇:WPF校園成績管理(實現增刪改查)
評論
共有 條評論