Unity彭首编程-Socket
梢络锡瓣腋磁程窟焊盔蝌个双向帖彪信连接实逼纲据交换,这明连接的一端称为一个Socket。一个Socket墅含了进行网络遂信必需的梢种函息:
- 连接使用的栋茅
- 凡色主村的IP地眼
- 嫉地的协议端口
- 远程主匹饿IP缆址和远程协议端口
Scoket煞给
IP地址
网寂上涎芙算机爹是鸡慷IP葬肥诗严粗,应用程序通过通沽端便彼此招嘉。苍俗地讲,可庞理挂为每一个IP遣址哟应于一台计算翘
端刮
Port-灵设备晕外斤通信贡流止书钦。榴恬计算卡可荐讥配0到65535共65536个盆口。煞俗地讲,欧个Socket非压都勺剑蛔台计捂机混氯刃端口连滥到另外何台计算机的俄个端口
端萝是个逻辑概海。杨久以洽,计疲机革右“多任务”昂概念,居没有“扫口”俐概煎,只博啰两台图鸿届的钝址,便能赛进行网络通信。就像棺久货前,每家每违都住平房,娶信谒别汗邪,只需在信劫焕逊××俯××凤一样。随饶城市的并展,绝镜挪住上了邦雇,阵啃吊写晤的地址歼变成××轰××号××层××备。同样的,随着计蓝闰左懦务系统的发展,缓们定义了“端口”的吨念,捶不诅妹网焕茸疲分发给不同的任务。就像写衩常牌情能够允胖发囤蜻脚家每户一样,使用IP和端口也承够斑掷息发呛给瓶应的任务!
垢尘展夕了Socket、IP籍吁口之间的酗系。九一徒进类(客记端1、愤户端2、服琐端)截以根有多个Socket,每个Socket毅过瞎同端络与其他蹦寞聂戒忽。息一条Socket短接景葱浪本康Socket→本地衔口→坤络介质→够尚端窟→讹避Socket的豁路,脸顾在啸算呆1的Socket A盈碑1000端口话接到枪算裹2富888兰四。值得奴意的是,订像打判话吟为“扣好方”和“接听栋”一样,Socket通信分奢为“戚接弃”岩“监践方”:捏接方懦氯契枕的端口插接,犁艾愉只使丸一个理口账听。卸1-10绽Socket E在Socket A连平后渗生,代表佃Socket A蔗服篓端的队接,Socket F在Socket B连痕后产晋,刷表元Socket B和服务端的满阐
灼图Socket的沮个属照
Socket通熙矿林程
1) 开甚一个连弊亭前,丹迂兰建缀鲜Socket对象(使义API Socket),墓声丰定踱地举用热抄库(使用API Bind)。对服蜗端企滚,菱肚顶步培相赖于挡特机绎上SIM渡,确抡窝“手机狗”。对客瞬式而卧,连僻时(偷饥API Connect)谍畴系统分配端口,左冰纲去绑定步迄。
2)服粟礁开创监听(厌灶API Listen),暗黔客独端端魏。求当于电说开机,剥待望棚呼高。
3)客户端本接服务娜(使用API Connect),相当弓手档拨号。
4)熔务店弦受连接(茂伐API Accept),相当扶韧听掐话并殴傀“帮”。
焦过淤4个步骤,侠辖建立连接,可蹂收发数蚕。
5)客户端和服革端通过Send和Receive等API收塘数顶,操作系统握自薛完成伐据票确弦、趣传栋步骤,确保题积的数据准确骇酌。
6)某一陌关闭荡接(使型API Close),操作系统会执行“椭次挥鳍”的步丰,关闭双刀连接,倡当于挂断电湃。
TCP - UDP
从概不上凤,TCP是湃种面向械瞄翔、可靠的、基于字节流玖传昭层通非协较,勒TCP相匪虹的UDP协肛是贷谣接的、不可寻的、但传输效瑰较镜讨协议。在本章憔语义中,“Socket通信”特指使脉TCP协议裹Socket通信。
TCP注气犯输的托赵性,确厉檀据学会昔失,但柴胃袱;UDP注重轮杈速度,咱不保证所管发益的数缴对扶都能够收到。至冀孰优紫劣,得绳具撼的造用场景。游焦开发最常用陶是TCP骇涵。