資源簡介
本人的大作業,內含完整代碼和數據庫文件,用于學習交流。麻煩給相應博客的點贊評論外加關注。僅用于學習交流。
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Net;
using?System.Net.Sockets;
using?System.Text;
using?System.Threading;
using?System.Windows.Forms;
using?System.IO;
//參考網址:??http://www.tuicool.com/articles/RBJFRn
//參考網址:??http://zhangxuefei.site/p/59
namespace?chatRoomServer
{
????public?partial?class?Form1?:?Form
????{
????????public?Form1()
????????{
????????????InitializeComponent();
????????????ipadr?=?IPAddress.Loopback;
????????}
????????//保存多個客戶端的通信套接字
????????public?static?Dictionary?clientList?=?null;
????????//申明一個監聽套接字?
????????Socket?serverSocket?=?null;
????????//設置一個監聽標記
????????Boolean?isListen?=?true;
????????//開啟監聽的線程
????????Thread?thStartListen;
????????//默認一個主機監聽的IP
????????IPAddress?ipadr;
????????//將endpoint設置為成員字段
????????IPEndPoint?endPoint;
????????private?void?btnStart_Click(object?sender?EventArgs?e)
????????{
????????????if?(serverSocket?==?null)
????????????{
????????????????try
????????????????{
????????????????????isListen?=?true;
????????????????????clientList?=?new?Dictionary();
????????????????????//實例監聽套接字
????????????????????//參考網址:http://blog.csdn.net/sight_/article/details/8138802
????????????????????//int?socket(int?domain?int?type?int?protocol);
????????????????????//??domain:???協議域,又名協議族。常用的協議族有,AF_INET、AF_INET6、AF_LOCAL(或稱AF_UNIX,Unix域socket)、AF_ROUTE等等。
????????????????????//協議族決定了socket的地址類型,在通信中必須采用對應的地址,如AF_INET決定了要用ipv4地址(32位的)與端口號(16位的)的組合、AF_UNIX決定了要用一個絕對路徑名作為地址。
????????????????????//??type:?????指定socket類型,。常用的socket類型有,SOCK_STREAM、SOCK_DGRAM、SOCK_RAW、SOCK_PACKET、SOCK_SEQPACKET等等
????????????????????//??protocol:???指定協議。常用的協議有,IPPROTO_TCP、IPPTOTO_UDP、IPPROTO_SCTP、IPPROTO_TIPC等
????????????????????//并不是上面的type和protocol可以隨意組合的,如SOCK_STREAM不可以跟IPPROTO_UDP組合。當protocol為0時,會自動選擇type類型對應的默認協議
????????????????????serverSocket?=?new?Socket(AddressFamily.InterNetwork?SocketType.Stream?ProtocolType.Tcp);?????//AddressFamily.InterNetwork代表IPV4地址,不包含IPV6???參考網址:http://bbs.csdn.net/topics/390283656?page=1
????????????????????//端點
????????????????????/*??在IPEndPoint類中有兩個很有用的構造函數:
????????????????????????public?IPEndPoint(long?int);?
????????????????????????public?IPEndPoint(IPAddress?int);
????????????????????????它們的作用就是用指定的地址和端口號初始化IPEndPoint類的新實例。
?????????????????????*?參考網址:http://www.cnblogs.com/Medeor/p/3546359.html
?????????????????????*/
????????????????????//IPAddress?ipadr?=?IPAddress.Parse(“192.168.1.100“);
????????????????????//如果txtIP里面有值,就選擇填入的IP作為服務器IP,不填的話就默認是本機的
????????????????????endPoint?=?new?IPEndPoint(ipadr?8080);?????//IPAddress.loopback是本地環回接口,其實是虛擬接口,物理不存在的??參考網址:http://baike.sogou.com/v7893363.htm?fromtitle=loopback
????????????????????//綁定
????????????????????//把一個地址族的特定地址給socket
????????????????????//int?bind(int?sockfd?const?struct?sockaddr?*addr?socklen_t?addrlen);
????????????????????//sockfd:???即socket描述字,它是通過socket()函數創建了,唯一標識一個socket。bind()函數就是將給這個描述字綁定一個名字。
????????????????????//*addr:????一個const?str
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-06-14?08:27??餐廳點餐管理系統\
?????目錄???????????0??2020-06-14?08:27??餐廳點餐管理系統\.git\
?????文件????????2581??2019-12-02?14:58??餐廳點餐管理系統\.gitattributes
?????文件????????3997??2019-12-02?14:58??餐廳點餐管理系統\.gitignore
?????文件?????????691??2019-12-02?14:58??餐廳點餐管理系統\.git\config
?????文件??????????73??2019-12-02?14:58??餐廳點餐管理系統\.git\desc
?????文件??????????23??2019-12-02?14:58??餐廳點餐管理系統\.git\HEAD
?????目錄???????????0??2019-12-24?22:54??餐廳點餐管理系統\.git\hooks\
?????文件?????????177??2019-12-02?14:58??餐廳點餐管理系統\.git\hooks\README.sample
?????文件????????1288??2019-12-02?14:59??餐廳點餐管理系統\.git\index
?????目錄???????????0??2019-12-24?22:54??餐廳點餐管理系統\.git\info\
?????文件?????????113??2019-12-02?14:58??餐廳點餐管理系統\.git\info\exclude
?????目錄???????????0??2020-06-14?08:27??餐廳點餐管理系統\.git\logs\
?????文件?????????342??2019-12-02?14:59??餐廳點餐管理系統\.git\logs\HEAD
?????目錄???????????0??2020-06-14?08:27??餐廳點餐管理系統\.git\logs\refs\
?????目錄???????????0??2019-12-24?22:54??餐廳點餐管理系統\.git\logs\refs\heads\
?????文件?????????342??2019-12-02?14:59??餐廳點餐管理系統\.git\logs\refs\heads\master
?????文件?????????150??2019-12-02?14:59??餐廳點餐管理系統\.git\ms-persist.xm
?????目錄???????????0??2020-06-14?08:27??餐廳點餐管理系統\.git\ob
?????目錄???????????0??2019-12-24?22:54??餐廳點餐管理系統\.git\ob
?????文件??????????89??2019-12-02?14:58??餐廳點餐管理系統\.git\ob
?????目錄???????????0??2019-12-24?22:54??餐廳點餐管理系統\.git\ob
?????文件?????????192??2019-12-02?14:59??餐廳點餐管理系統\.git\ob
?????目錄???????????0??2019-12-24?22:54??餐廳點餐管理系統\.git\ob
?????文件????????1863??2019-12-02?14:58??餐廳點餐管理系統\.git\ob
?????目錄???????????0??2019-12-24?22:54??餐廳點餐管理系統\.git\ob
?????文件?????????751??2019-12-02?14:58??餐廳點餐管理系統\.git\ob
?????目錄???????????0??2019-12-24?22:54??餐廳點餐管理系統\.git\ob
?????文件????????1250??2019-12-02?14:59??餐廳點餐管理系統\.git\ob
?????目錄???????????0??2019-12-24?22:54??餐廳點餐管理系統\.git\ob
?????文件?????????214??2019-12-02?14:59??餐廳點餐管理系統\.git\ob
............此處省略304個文件信息
評論
共有 條評論