linux socket编程:简易客户端与服务端哲学

引言:构成万物的根基是怎么着?泰勒(Taylor)斯认为是水,阿这克西曼德认为是定点不灭的无限,不言而喻都觉着由实体构成。毕达哥拉斯则觉得,“数”才是结合万物的底子,缤纷的社会风气都是数的变现。数既是东西的实质,数的性质万物也负有。数的奇偶投射于江湖,就改为有限与极端、静止与运动、黑暗与美好等。“数”构成了空间形式,那么些样式正是物质暴发的来头,非物质世界也同等“形”中有“数”。毕达哥拉斯还参预神学,这使后人的翻译家和地理学家在评论他时碰到了难题。

什么是socket?

socket起点于Unix,而Unix/Linux基本法学之一就是“一切皆文件”,都可以用“打开open
–> 读写write/read –>
关闭close”形式来操作。其实socket就是该情势的一个兑现,socket即是一种特另外文本,一些socket函数就是对其展开的操作(读/写IO、打开、关闭)

socket的功力是用以网络通讯,网络通讯一般指的是例外主机之间的经过通讯,比如自己电脑上的qq和您电脑上的qq实现通讯,都是过程之间发送数据.

在地点用pid标识一个进程,在网络中,tcp/ip协议的网络层“ip地址”可以唯一标识网络中的主机,传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。(ip地址,协议,端口)就足以标识网络的过程了,网络中的进程通信就足以拔取这些标志与此外进程展开交互

socket服务端编程基本步骤:

1,创造套接字, 利用socket函数

2,绑定套接字: bind

3,监听套件字: listen

4,accept,接收客户端的连日,3次握手就发出在这些等级, 
这一个函数再次回到一个新的套接字

5,处理工作

socket客户端:

1,创立套接字: socket

2,连接服务端: connect

3,处理工作


服务端源码:

哲学 1哲学 2

 1 #include <stdio.h> 2 #include <sys/types.h> 3 #include <sys/socket.h> 4 #include <stdlib.h> 5 #include <string.h> 6 #include <arpa/inet.h> 7 #include <unistd.h> 8 9 int main(int argc, char *argv[])10 {11 int sockfd = -1;12 int bindres = -1;13 int listenres = -1;14 15 sockfd = socket( AF_INET, SOCK_STREAM, 0 );16 if ( -1 == sockfd ) {17 perror( "sock created" );18 exit( -1 );19 }20 21 struct sockaddr_in server; 22 memset( &server, 0, sizeof( struct sockaddr_in ) );23 server.sin_family = AF_INET;24 server.sin_port = 6666;25 server.sin_addr.s_addr = htonl( INADDR_ANY );26 27 bindres = bind( sockfd, (struct sockaddr*)&server, sizeof( server ) );28 if( -1 == bindres ) {29 perror( "sock bind" );30 exit( -1 );31 }32 33 listenres = listen( sockfd, SOMAXCONN );34 if( -1 == listenres ) {35 perror( "sock listen" );36 exit( -1 );37 }38 39 struct sockaddr_in peerServer;40 int acceptfd = -1;41 socklen_t len = sizeof( peerServer );42 acceptfd = accept( sockfd, (struct sockaddr*)&peerServer, &len );43 if ( -1 == acceptfd ) {44 perror( "sock accept" );45 exit( -1 );46 }47 48 char recvBuf[1024]; 49 while( 1 ) {50 memset( recvBuf, 0, sizeof( recvBuf ) );51 int recvBytes = read( acceptfd, recvBuf, sizeof( recvBuf ) );52 fputs( recvBuf, stdout );53 write( acceptfd,recvBuf, recvBytes );54 }55 56 close( sockfd );57 close( acceptfd );58 59 return 0;60 }

View Code

客户端源码:

哲学 3哲学 4

 1 #include <stdio.h> 2 #include <sys/types.h> 3 #include <sys/socket.h> 4 #include <stdlib.h> 5 #include <string.h> 6 #include <arpa/inet.h> 7 #include <unistd.h> 8 9 int main(int argc, char *argv[])10 {11 int sockfd = -1;12 13 sockfd = socket( AF_INET, SOCK_STREAM, 0 );14 if ( -1 == sockfd ) {15 perror( "sock created" );16 exit( -1 );17 }18 19 struct sockaddr_in server; 20 memset( &server, 0, sizeof( struct sockaddr_in ) );21 server.sin_family = AF_INET;22 server.sin_port = 6666;23 server.sin_addr.s_addr = inet_addr( "127.0.0.1" );24 25 int res = -1; 26 res = connect( sockfd, (struct sockaddr*)&server, sizeof( server ) );27 if( -1 == res ){28 perror( "sock connect" );29 exit( -1 );30 }31 32 char sendBuf[1024] = { 0 };33 char recvBuf[1024] = { 0 };34 while( fgets( sendBuf, sizeof( sendBuf ), stdin ) != NULL ) {35 write( sockfd, sendBuf, sizeof( sendBuf ) );36 read( sockfd, recvBuf, sizeof( recvBuf ) );37 fputs( recvBuf, stdout );38 memset( sendBuf, 0, sizeof( sendBuf ) );39 memset( recvBuf, 0, sizeof( recvBuf ) );40 }41 42 close( sockfd );43 44 return 0;45 }

View Code

毕达哥拉斯:公元前572年~约前500年

备注:

1、socket函数的参数:当protocol为0时,会活动选拔type类型对应的默认协议

2、将sin_addr设置为INADDR_ANY"的意义是怎么着?

转换过来就是0.0.0.0,泛指本机的意思,也就是意味着本机的拥有IP,因为微微电话不止一块网卡,多网卡的处境下,这一个就象征拥有网卡ip地址的趣味。
比如一台总计机有3块网卡,分别连接几个网络,那么这台电脑就有3个ip地址了,如若某个应用程序需要监听某个端口,这她要监听哪个网卡地址的端口呢?
倘使绑定某个具体的ip地址,你不得不监听你所设置的ip地址所在的网卡的端口,此外两块网卡无法监听端口,倘诺本身索要六个网卡都监听,那就需要绑定3个ip,也就相当于需要管住3个套接字进行数据沟通,这样岂不是很麻烦?
所以出现INADDR_ANY,你只需绑定INADDR_ANY,管理一个套接字就行,不管多少是从哪个网卡过来的,只假设绑定的端口号过来的多寡,都足以采用到

 

身份:哲学家、数学家、科学家、占星师

进献:将“数”推向本体论层次,影响后世一多元学科领域。第一个申明勾股定理。讲明了正多面体唯有五种。发现琴弦定律,第一次把物理定律用数学公式描述出来,成为理论物医学先驱。深远探究弦长比例与音乐和谐的关联,指出五度相生律。提议数学论证必须从“即使”出发,开创演绎逻辑思考。发现有关直角三角形的命题。第一个将数学与神学结合,成为古希腊至康德宗教历史学的严重性特色之一(这些贡献多少……)。第一个招收女学童的文学家(好!)。最早切磋美的实质。最早发现“黄金分割”规律。创造毕达哥拉斯学派。

背景:公元前572年,毕达哥拉斯出生在米利都附近的萨摩斯岛(今希腊东部的小岛),是爱奥尼亚群岛的根本岛屿城市。此时群岛正处全盛时期,在经济、文化等各地点均居希腊各城邦之首。毕达哥拉斯出生在一个财神家庭,九岁时被生父送到提尔,在闪族叙比什凯克我们这里学习了自然科学,并触及到东方的宗派和学识,后曾多次随小叔到小亚细亚作商务旅行。公元前535年至公元前525年,在埃及学习神话、历史和宗派等。

公元前520年,经历过社会巨变、学习了各个知识的毕达哥拉斯,为了摆脱萨摩斯的主公暴政,与大妈和徒弟移居到西西里岛,后定居在科尔特斯海沿岸的克罗托内城。在这里她最先广收门徒,成立了毕达哥拉斯学派。

我们将镜头拉回来公元前520年毕达哥拉斯第一次在克罗托内城发表讲演的那一天。先说个小插曲,此时的毕达哥拉斯已名声远播,听说这样的一位学者要在城里进行演说,我们都感觉讶异和兴奋,很快我们又拿到一个信息:本次演讲允许女性参与!城里的人大都将信将疑,因为根本不曾大家这样做过,但仍然有十来位女性壮着胆子来参加了,其中一个叫西雅娜的愈发明确。漂亮的农妇很多,但还要持有睿智眼神的却少见,西雅娜两者兼有。

中午:演说采用在城里一座由亚该亚人建起的神庙里展开。等毕达哥拉斯来到神庙时,已经有接近三百位听众聚集在神庙会客室,毕达哥拉斯首先向大家问好,然后起首了演讲:

“首先,我要谢谢我们能来这里听我讲述自己对这些世界的认识。我并不是要对友好的碰着举行申诉或者抗议,即便自己有充分的说辞这样做。我想说的是,我选取用一种崭新的措施来了然自然、社会和人生,是因为我找到了一个解开世界奥秘的情势,从九岁起首到近日,我为此付出了四十多年的时间。我曾到过小亚细亚、米利都、得洛斯等地,跟随叙马拉加专家学习了自然科学,拜Taylor斯、阿这克西曼德为师,学习了几何学与天经济学,然后自己有了自己对这个世界的见解,并用自己的行路加以印证。”毕达哥拉斯边讲边留意我们的反馈,还好,除了各自窃窃私语的,大部分都集中精力在听,尤其是前排几位女性,西雅娜温和灼热的目光甚至让这位学者有些心慌了。

“萨摩斯岛是自个儿出生的地点,那里依然让我思念,美味的利口酒、高耸的克尔克托斯峰、典雅壮观的赫拉古庙,我为出生在那边感到自豪。但最让自身神往的是充满活力的爱奥尼亚知识,以及收受这种文化的人们。”毕达哥拉斯接着讲到,“可惜这曾经消失了,现在一个不懂理性为啥物的国王正在这里举办统治。当然,我离开这里的间接原因,实际上是地面的居住者,他们的理由是:‘这厮就精通标新革新、鼓吹邪说,还穿着东方人的衣物、并蓄上头发,真是令人无法忍受!’”毕达哥拉斯说到此地忍不住笑了笑,大厅里也传出一些笑声。

“我深受东方文化的影响,那如实。在本人很小的时候,就感受到东方文化的和谐、神秘,这种将万物融为一体,而又章法谨严的盘算和作为格局,一直到前几日都令自己着迷。当然,也包罗他们的行装和发型”,毕达哥拉斯朝着自己的随身看了看,又望着大厅里的人们,“这样的扮相让自家有一种超脱于江湖的觉得,当然,我不是要让我们皈依东方的宗派,我只是对那种升腾于万物之上的旺盛极为感兴趣。我非但在扮相上类似他们,而且在一部分行事方面——我这里指的是禁忌,比如禁食豆子、不要吃任何的面包、不要去碰白公鸡等,也效法他们。”说到这边,毕达哥拉斯看到我们面面相觑。

“不吃豆子,还不让吃任何的面包,碰一下白公鸡怎么了,这是何等规矩?”人们小声嘀咕着。

“为何必须遵照这么些禁忌?这和我们的生存有哪些关联?”有人大声问道。

“首先,那一个禁忌本身并不曾真正影响大家的生存质地,豆子并不是大家的主食,面包剩下一点点去嗨小动物也不是荒废,至于不碰白公鸡,那就是一种规定罢了,什么人没事儿去碰它干嘛;其次,通过这个禁忌,我想让我们知道的实在是一个词:‘情势’,就像宗教里的这么些繁复的规定,逐渐会形成一种仪式感,这种仪式感是宗教精神乃至宗教本身最重点的组成部分之一。我所说的这些禁忌也是要达成这种功用,但我们皈依的不是神,而是‘数’。”我们这时候才日渐有点了然毕达哥拉斯的辩解,人们关心和思维的眼神激励着毕达哥拉斯继续说下去。

“‘数’是结合万物的最主题也是最要紧的元素,‘数’的‘形式’即是万物的实质乃至万物本身,比仪式感之于宗教更加重要。我所说的这多少个禁忌仅仅是这种‘格局’的一种外在表现仍然一种表示而已。”人们还在考虑——能来这里听演说的人,基本上都是这座城市里爱啄磨问题的人,其中不乏部分爱钻牛角尖儿的人,通常弥足珍爱遇上诡异的见地,现在能倾听大名鼎鼎的毕达哥拉斯说出这多少个不可思议的答辩,真是一件乐事。

“大厅里肯定有过多书呆子”,毕达哥拉斯暗自笑道,“这假使讲给前日的萨摩斯岛上的人听,又不安招惹出咋样啊,哈哈,好了,不可以再讲了,渐渐来。”

“为何说‘数’的形式就是万物的真面目乃至万物本身,那么些题目本身想让我们精心想转手,下一遍我发言的时候会讲出原因,当然,我也可望各位能提议自己的理念。明日就到这边,很美观可以为你们讲解自己的所思所想,这对于一个从事研讨并希望将探讨成果公之于众的人来说,真是一桩莫大的欢乐,谢谢我们!同样很愉快生活在这座都市,希望能和你们随时琢磨这些有趣的问题!”毕达哥拉斯说完向大厅的人们鞠躬问候。

人们了解还尚无听过瘾,“‘数’的‘情势’究竟意味着怎么着吗,又怎么展示为万事万物呢?”大家心中带着困惑,也带着久违的思维而致的欢快,目送毕达哥拉斯的离开。反正以后都在一个城池,要找他也有利。

午餐时候到了,餐桌上照例没有豆子,烤面包、奶酪和利口酒被百般平稳地摆在盘子里,在众人还不知道抑郁性神经症为什么物的年代,这样的雷打不动被掌握为惊世骇俗的小心。吃完后就是午睡时间了,在一座让投机感觉满足的都会休息,真是一件不可多得的享受。

早上两点钟,午睡醒来的毕达哥拉斯刚要出去走走,领略一下这座陌生城市的山水,忽然听到了敲门声,于是去开了门。

“没有打扰您休息吧?”西雅娜问到。

“没有,没有!请进!”毕达哥拉斯将她们让了进入,原来是十几位妇女,觉得有些眼熟,这不是早晨来听课的他俩嘛!

“大家苏醒其实就是想问一下,您收不收女徒弟,我们想,您既是允许女性听你的发言,可能也会收女弟子。”西雅娜说完,脸微红,扭过头看了看同伴们,我们脸上都带着紧张而期望的神色。

“当然可以”,毕达哥拉斯大感意外,城市和城市怎么就如此不雷同呢,“为啥不可以?当然可以!”

“太好了!”西雅娜和同伙们欢愉得跳着抱着,直到发现老师在看才笑着停了下去。

“老师”,西雅娜第一个喊了一声,“您前日早晨在发言中涉嫌:‘数’的款型是万物的原形乃至万物本身,能不可能给大家举个例子吗?”

“嗯,好!”毕达哥拉斯答道,尽管她被众三人叫过导师,但还未曾被一个巾帼这么喊过,“我举一个例子——你们一定都欣赏听出色的音乐和歌曲,对啊?”

“对!”学生们纷纷点头。

“那么什么样的音乐才是当真可以的音乐呢?”

“能令人感到快乐的”、“能令人想起美好时光的”、“能令人充满希望的”、“能令人身心放松的”,学生们争先恐后给出答案。

“西雅娜,你啊?”毕达哥拉斯看着这位女学员低头沉思着。

“能令人觉得和谐的,能在很多不一的音符之间交织出错落而又协调的”,西雅娜抬起始看着导师答道。

“对!”毕达哥拉斯非常激动,“真正非凡的音乐就是寓整齐于变化之中!整齐不是划一,而是各类和谐的规则。你们了解里拉琴吗?我曾拿一条弦做过实验,发现音高(频率)与弦的长短成反比,接着自己在两旁又绷起第二条平行弦,变成“二弦琴”,来研究和声,经反复测试后意识:两条琴弦的弦音程之比越简单,和声就越和谐。不协和音程常给人以紧张、尖锐和不安感,协和音程则给人一种平静、柔和与协调感。协和音程展示着音乐甚至那些世界的实质,不仅是音乐,就是大自然,也是按照协议的比例在运作,所以才能发出钧天之乐。”

“在您看来,‘和谐’就是万物的面目,那么不谐和的事物本质又是哪些?”

“要清楚”,毕达哥拉斯朝向装有学生说道,“本质不是所有。例如我们每个人的生命,都蕴含众多上边,既有静止,也暗含无序,但我们深信,我们各类人在精神是雷打不动的,也即和谐的,至于无序的局部、不谐和的片段,这是各样因素造成的结果,而不是初衷。就像一粒种子最终能不可以发芽开花结果,不仅仅需要种子本身健康,还亟需环境非凡。种子的真相,大家认为都是充满生机的。同理,我们以为万物的原形都是协调的。”

“和谐的,也就是美的,对啊?”西雅娜问道。

“对!万物本质上都是美的”,毕达哥拉斯微笑答道,“就像女性是美的化身”,毕达哥拉斯还想补偿一句,但这句话有恭维之嫌,况且自己是师资,所以只是在内心说一下。

这时有一阵风吹来,院子里及时充满一种专门的脾胃,仿佛将一束束月桂、迷迭香、百里香捧到了前边,尤其是西雅娜,秀出尘间、清香沁人。不吃豆子的毕达哥拉斯,平常更不喝酒,但此刻真有些醉了。在她们身后的屋里,毕达哥拉斯的慈母通过窗子看着这一体,眼睛突然放出光彩,当他看来西雅娜和外外孙子开口时的旺盛,她弹指间感觉外甥不会孤单终老了。

“不打扰您工作了”,西雅娜感觉刚才听到很多新知识,要先回去好好考虑,“非凡感谢您!”一束束花儿飘洒着浓香离开了庭院,留下多少怅怅的毕达哥拉斯。

回来屋里,毕达哥拉斯看着桌子上这把里拉琴,忍不住想到,如要是她在弹奏,这将是一幅多么美好的画面……

思路忽然又被一阵轻微的敲门声打断了,他过去开了门,原来是希帕索斯,很好学很爱思考问题的一个学员,他怎样时候也来克罗托内城了!

“希帕索斯,十分安心乐意可以在此处看到您,目前还可以吗?”毕达哥拉斯暴露惊喜的笑容,能和友好举办深入对话的学员很少,希帕索斯相对是中间的翘楚。

“谢谢先生的珍爱,我很好!”希帕索斯也很喜悦,但表情中有一丝不安。

“是不是如今又赶上难题了”,毕达哥拉斯笑着问道,那一丝不安没有逃过她的眸子。

“是这样的,老师”希帕索斯没有拐弯抹角,“我近年来发现了一个数。”

“哦,是吧,呵呵”,毕达哥拉斯笑道,“说来听听,大家来看看这么些数有所怎么样的调和质量。”

“老师,这多少个数能设想出来,但无能为力适用地写出来”,希帕索斯说出了近期百思不得其解的一个问题。

“可以设想,无法具体写出来?”毕达哥拉斯往椅子上靠了靠,“有这种数?一切量都可用有理数表示,难道有两样?”

“老师,我给您演示一下”,看到毕达哥拉斯陷入思考和困惑,希帕索斯用身边一根小棍儿在地上画了四起,他画的是一个正方形,然后将那么些正方形的一组对角用一根直线连了起来,于是一条对角线将这多少个正方形分成面积同样的多少个等腰直角三角形。

“嗯”,毕达哥拉斯看着学生画着,这是很广泛的图样啊。

“老师,假如那么些正方形的每条边都是1”,希帕索斯的响动已经有些紧张了,“那么,那条对角线的长度是稍微?”

“这些理应很容易了解”,毕达哥拉斯答道,但当看到希帕索斯这简直有点惊恐的神气,于是又密切想了刹那间,“那一个数一定是切实存在的,但具体的量是有点,在此以前还真没想过。”

“老师,这一个数好像既不是整数,也不是分数。”希帕索斯声音很小,好像是立在山崖边沿瑟缩着说出来的。

“不容许!”毕达哥拉斯大叫一声,“这无法!!!”

“……”希帕索斯低下头不再说话。

“让自家看看”,毕达哥拉斯听到自己的动静也在发抖,他的大脑深处——不,应该是灵魂深处,仿佛被深深摇撼了一晃,“假诺那么些世界有不属于有理数的量,这自己一切的理论系列就将面临崩塌的惊险!”毕达哥拉斯颤抖发轫在地上总计着,忽然一阵天旋地转昏过去了。

“这件工作并非再告知任何人”,毕达哥拉斯醒来后盯着希帕索斯说道,“在我找到答案在此以前,那件事情只可以引起众人的束手无策。”

“好的!”希帕索斯静立一旁答应道。

“假如实在存在不属于有理数的量——我的天!这还怎么了得!”毕达哥拉斯支撑着坐了起来,又移步到充分正方形前,“总结结果是明摆着的,究竟什么地方出了问题?”

“世界的原形除了和谐,还有不足理喻的单方面?”毕达哥拉斯颓然坐在椅子上,好像一转眼年事已高了诸多,“希帕索斯,假若的确存在这样的量,我说不定就不能做你的名师了。”

“噢不!”希帕索斯很快精晓了老师的意思,“即便存在这样的量,也不必然就推翻了名师往日的各种成果和判断,可以用有理数来标识的量与这么些不可能用有理数标识的量,可能并不是非此即彼的,或许是一种补偿的关系。毕竟,整数和分数是客观存在的哟。”

“呵呵,谢谢您希帕索斯,你学会安慰人了”,毕达哥拉斯向弟子笑了笑,心绪缓和了无数,“这样,你回来再美好想一想,算一算,到底还有多少这样的数?”

“好的园丁,您多保重!”希帕索斯语含关切,告辞回家了。

“单纯的悟性并不可能将这些世界解释清楚,有时依然会令人觉得自己无所不可能,因而造成欲望丛生、问题重重,而信仰,或者说是神性,才能真的拉住欲望的缰绳、安顿我们的身心”,毕达哥拉斯忽然想到自己过去对旁人说过的话,“这客观存在的、令人捉摸不透的私欲,多像刚刚的老大数啊。”

天色逐步暗了下来,因为长日子呆在屋里,毕达哥拉斯还可以看了解身边的桌椅,甚至窗外依稀的日月。夜晚虽然黑暗,也遮不住月色与星光,多么神秘的世界,大家又能领悟多少啊?毕达哥拉斯这时又忆起了西雅娜,这令人陶醉的态度和气味,也是这么神秘啊。

相关文章

Comment ()
评论是一种美德,说点什么吧,否则我会恨你的。。。