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