(Translated by https://www.hiragana.jp/)
GitHub - Liu233w/natchat: 类似飞鸽的局域网聊天,文件传输系统。综合创作训练3大作业
Skip to content

类似飞鸽てききょくいき网聊てんぶんけん传输けい统。综合创作训练3大作たいさく

License

Notifications You must be signed in to change notification settings

Liu233w/natchat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

natchat

类似飞鸽てききょくいき网聊てんぶんけん传输けい

作者さくしゃのぼり 2015303081 刘书さと 2015303087

(这个项目うつしてきふとし烂了,凑活着かっちゃくじょうらい吧_(:3」∠)_

项目简介

  • 以自动探测到きょくいき网内其他设备てき加入かにゅうあずか退出たいしゅつ动更しん设备れつひょうぼつ测试过广いき网)
  • 以向其他设备ぐん发消いき、单发消息しょうそく、单发ぶんけん
  • 带颜文字もじれつひょう以自てい

项目使用しよう visual studio 2017 进行编写,c++11てき线程库处并发,winsock2处理tcpudp连接,mfc编写界面かいめん。如果无法编译,请更换一目的もくてき windows SDK 版本はんぽん,换成ざいほんつくえあんそう过的版本はんぽん

ぶんけん结构

网络

ConcurrentSender

负责发送いち个TCP消息しょうそくほん类不こう虑数すえてき编码,ただこう指定していてきIPはしこう发送いち个 tcp すうすえつつめざい发送かん毕之きさき结束。ざい实例ほん类时,はた开启一个新的线程来发送数据。

SendingManager

ほん提供ていきょうりょう发送すうすえてきせっこうゆかりほん块负责实れい ConcurrentSender 并维护发送队列、确保すうすえ发送成功せいこうかたぎ使用しようりょう一个并发队列来处理消息发送。调用发送すうすえてき方法ほうほうかいとういた发送完成かんせいきさきざいかえしかい,而是りつそくかえしかいかい阻塞调用线程。ほん块拥ゆう一个自己的线程来处理发送队列,确保消息しょうそく发送成功せいこう

TicToc

ほん块负责处きゃく户端发现しょう关的操作そうさほどじょざい启动时会开启いち个 UDP 接收せっしゅうはししかきさき使用しよう UDP 广播一个连接请求 (TIC)。接收せっしゅういた此请もとめてききゃく户端かい使用しよう TCP こう发送はし发送いち个应こたえ (TOC),并将此客户端 ip 及计さんつくえめい加入かにゅういたやめ知的ちてき计算つくえれつひょうちゅう接收せっしゅうはしざいおさむいた TOC きさき也会しょう应的おさむあらため自己じこてき计算つくえれつひょう,这样就完成かんせいりょう一次客户端发现操作。ざいきゃく户端よう退出たいしゅつ网络时,也会こうれつひょうちゅうてき所有しょゆう计算つくえ发送いち个 BYE 消息しょうそく,从而让其きゃく户端はたほんきゃく户端从列ひょうちゅう删去。

RecevingManager

ほん块负责接收せっしゅうTCP消息しょうそく并更しん消息しょうそくれつひょう通知つうちぬし线程。かたぎ块在启动时会开启一个单独的线程来启动 TCP 循环,ざい接收せっしゅういたいち个TCP消息しょうそくきさき更新こうしんれつひょう,发送Windows消息しょうそく通知つうちぬし线程进行处理。

ChatService

せっこう块,提供ていきょうりょうきょうぬし线程(界面かいめん)调用てき函数かんすうすうすえ

About

类似飞鸽てききょくいき网聊てんぶんけん传输けい统。综合创作训练3大作たいさく

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published