127.0.0.1:9200
URL: http://127.0.0.1:9200/likecs_art_db/_search
REQUEST:
Array
(
[query] => Array
(
[match] => Array
(
[text] => Array
(
[query] => Linux socket网络编程基础 tcp和udp
)
)
)
[highlight] => Array
(
[fields] => Array
(
[text] => stdClass Object
(
)
)
[pre_tags] => #em#
[post_tags] => #/em#
)
[size] => 8
[from] => 0
)
RESPONSE:string(7971) "{"took":32,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":10000,"relation":"gte"},"max_score":47.65522,"hits":[{"_index":"likecs_art_db","_type":"_doc","_id":"9375","_score":47.65522,"_source":{"id":"9375","text":"Linux socket\u7f51\u7edc\u7f16\u7a0b\u57fa\u7840 tcp\u548cudp","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"MINGLE-CHB","tagsname":"","tagsid":"[]","catesname":"Linux\u4e0bc\u7f16\u7a0b","catesid":"[\"1864\"]","createtime":"1520257047"},"highlight":{"text":["#em#Linux#/em# #em#socket#/em##em#网#/em##em#络#/em##em#编#/em##em#程#/em##em#基#/em##em#础#/em# #em#tcp#/em##em#和#/em##em#udp#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"781193","_score":40.06007,"_source":{"id":"781193","text":"\u7f51\u7edc\u7f16\u7a0b1 \u7f51\u7edc\u5f00\u53d1\u57fa\u7840(Socket\u3001TCP\u3001UDP)","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"ccsuCBG","tagsname":"","tagsid":"","catesname":"","catesid":"","createtime":"1639456600"},"highlight":{"text":["#em#网#/em##em#络#/em##em#编#/em##em#程#/em#1 #em#网#/em##em#络#/em#开发#em#基#/em##em#础#/em#(#em#Socket#/em#、#em#TCP#/em#、#em#UDP#/em#)"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"863372","_score":36.658535,"_source":{"id":"863372","text":"python \u7f51\u7edc\u7f16\u7a0b TCP\/IP socket UDP","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"think-and-do","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1638006188"},"highlight":{"text":["python #em#网#/em##em#络#/em##em#编#/em##em#程#/em# #em#TCP#/em#/IP #em#socket#/em# #em#UDP#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"781175","_score":36.294895,"_source":{"id":"781175","text":"\u3010\u7f51\u7edc\u7f16\u7a0b1\u3011\u7f51\u7edc\u7f16\u7a0b\u57fa\u7840-TCP\u3001UDP\u7f16\u7a0b","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"17bdw","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1636818149"},"highlight":{"text":["【#em#网#/em##em#络#/em##em#编#/em##em#程#/em#1】#em#网#/em##em#络#/em##em#编#/em##em#程#/em##em#基#/em##em#础#/em#-#em#TCP#/em#、#em#UDP#/em##em#编#/em##em#程#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"203287520","_score":35.405827,"_source":{"id":"203287520","text":"java\u57fa\u7840\u2014\u2014Socket\u7f16\u7a0b\uff1aTCP\/UDP\u533a\u522b","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1623564245"},"highlight":{"text":["java#em#基#/em##em#础#/em#——#em#Socket#/em##em#编#/em##em#程#/em#:#em#TCP#/em#/#em#UDP#/em#区别"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"404674","_score":33.94357,"_source":{"id":"404674","text":"linux socket\u7f16\u7a0b\u4e4bTCP\u4e0eUDP","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"magicbox","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1635832071"},"highlight":{"text":["#em#linux#/em# #em#socket#/em##em#编#/em##em#程#/em#之#em#TCP#/em#与#em#UDP#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"464988","_score":33.508705,"_source":{"id":"464988","text":"\u7f51\u7edc\u7f16\u7a0b2_\u7f51\u7edc\u901a\u8baf\u534f\u8bae, socket(tcp, udp)","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"guyannanfei","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1637002846"},"highlight":{"text":["#em#网#/em##em#络#/em##em#编#/em##em#程#/em#2_#em#网#/em##em#络#/em#通讯协议, #em#socket#/em#(#em#tcp#/em#, #em#udp#/em#)"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"736184","_score":33.024525,"_source":{"id":"736184","text":"\u57fa\u4e8eSocket\u7684UDP\u548cTCP\u7f16\u7a0b\u4ecb\u7ecd","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"xzj8023tp","tagsname":null,"tagsid":"","catesname":"","catesid":"","createtime":"1636216917"},"highlight":{"text":["#em#基#/em#于#em#Socket#/em#的#em#UDP#/em##em#和#/em##em#TCP#/em##em#编#/em##em#程#/em#介绍"]}}]}}"
127.0.0.1:9200
URL: http://127.0.0.1:9200/likecs_art_db/_search
REQUEST:Array
(
[query] => Array
(
[match] => Array
(
[text] => Array
(
[query] => Linux socket网络编程基础 tcp和udp
)
)
)
[highlight] => Array
(
[fields] => Array
(
[text] => stdClass Object
(
)
)
[pre_tags] => #em#
[post_tags] => #/em#
)
[size] => 8
[from] => 8
)
RESPONSE:string(7697) "{"took":39,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":10000,"relation":"gte"},"max_score":47.65522,"hits":[{"_index":"likecs_art_db","_type":"_doc","_id":"781074","_score":32.995995,"_source":{"id":"781074","text":"Java \u3010\u7f51\u7edc\u7f16\u7a0bSocket\uff08TCP\u3001UDP\uff09\u3011\u5b66\u4e60\u7b14\u8bb0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"focuslife","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1636817405"},"highlight":{"text":["Java 【#em#网#/em##em#络#/em##em#编#/em##em#程#/em##em#Socket#/em#(#em#TCP#/em#、#em#UDP#/em#)】学习笔记"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"203344074","_score":32.91747,"_source":{"id":"203344074","text":"\u7f51\u7edc\u7f16\u7a0b\uff08UDP\/TCP\uff09","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1632531278"},"highlight":{"text":["#em#网#/em##em#络#/em##em#编#/em##em#程#/em#(#em#UDP#/em#/#em#TCP#/em#)"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"421000","_score":32.567444,"_source":{"id":"421000","text":"socket\u4e0eTCP\/UDP\u7f16\u7a0b~","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"aspirant","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1633142247"},"highlight":{"text":["#em#socket#/em#与#em#TCP#/em#/#em#UDP#/em##em#编#/em##em#程#/em#~"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"203344179","_score":32.343147,"_source":{"id":"203344179","text":"Linux Socket C\u8bed\u8a00\u7f51\u7edc\u7f16\u7a0b\uff1aTCP Socket","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1628257797"},"highlight":{"text":["#em#Linux#/em# #em#Socket#/em# C语言#em#网#/em##em#络#/em##em#编#/em##em#程#/em#:#em#TCP#/em# #em#Socket#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"203257584","_score":32.089054,"_source":{"id":"203257584","text":"linux\u7f51\u7edc\u7f16\u7a0b-TCP socket\u7f16\u7a0b\u6a21\u578b","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1640391902"},"highlight":{"text":["#em#linux#/em##em#网#/em##em#络#/em##em#编#/em##em#程#/em#-#em#TCP#/em# #em#socket#/em##em#编#/em##em#程#/em#模型"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"781190","_score":31.84345,"_source":{"id":"781190","text":"\u7f51\u7edc\u7f16\u7a0b\u57fa\u7840\uff08socket\uff09","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"baicai37","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1636818185"},"highlight":{"text":["#em#网#/em##em#络#/em##em#编#/em##em#程#/em##em#基#/em##em#础#/em#(#em#socket#/em#)"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"856981","_score":31.673101,"_source":{"id":"856981","text":"Java Web \u57fa\u7840\uff08\u4e00\uff09 \u57fa\u4e8eTCP\u7684Socket\u7f51\u7edc\u7f16\u7a0b","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"forget406","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1637651196"},"highlight":{"text":["Java Web #em#基#/em##em#础#/em#(一) #em#基#/em#于#em#TCP#/em#的#em#Socket#/em##em#网#/em##em#络#/em##em#编#/em##em#程#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"756348","_score":31.602201,"_source":{"id":"756348","text":"java\u7f51\u7edc\u7f16\u7a0b(TCP\uff0cUDP)","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"wwwzhouzy","tagsname":"","tagsid":"","catesname":"","catesid":"","createtime":"1637672457"},"highlight":{"text":["java#em#网#/em##em#络#/em##em#编#/em##em#程#/em#(#em#TCP#/em#,#em#UDP#/em#)"]}}]}}"
127.0.0.1:9200
URL: http://192.168.101.128/searchcore/index.php/cihere_cn_db/_search
REQUEST:Array
(
[query] => Array
(
[match] => Array
(
[title] => Array
(
[query] => Linux socket网络编程基础 tcp和udp
)
)
)
[highlight] => Array
(
[fields] => Array
(
[title] => stdClass Object
(
)
)
[pre_tags] => #em#
[post_tags] => #/em#
)
[from] => 0
)
RESPONSE:bool(false)
127.0.0.1:9200
URL: http://127.0.0.1:9200/likecs_down_db/_search
REQUEST:Array
(
[query] => Array
(
[bool] => Array
(
[must] => Array
(
[0] => Array
(
[match] => Array
(
[title] => Array
(
[query] => Linux socket网络编程基础 tcp和udp
)
)
)
)
[must_not] => Array
(
[0] => Array
(
[term] => Array
(
[cate1] => 电子书籍
)
)
)
)
)
[highlight] => Array
(
[fields] => Array
(
[title] => stdClass Object
(
)
)
[pre_tags] => #em#
[post_tags] => #/em#
)
[size] => 5
[from] => 0
)
RESPONSE:string(3047) "{"took":12,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":10000,"relation":"gte"},"max_score":42.72196,"hits":[{"_index":"likecs_down_db","_type":"_doc","_id":"71321","_score":42.72196,"_source":{"id":"71321","title":"\u57fa\u4e8eTCP\u548cUDP\u7684Socket\u7f16\u7a0b WORD\u7248","spidertime":"1623126880","contenttime":"1678298101","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/170406\/0T33Ab962.png","tag":"tcp|UDP|Socket|\u7f16\u7a0b","cate1":"\u7535\u5b50\u4e66\u7c4d","cate2":"\u7f16\u7a0b\u5f00\u53d1","cate3":"\u7f16\u7a0b\u5176\u5b83","attr1":"13.7KB"},"highlight":{"title":["#em#基#/em#于#em#TCP#/em##em#和#/em##em#UDP#/em#的#em#Socket#/em##em#编#/em##em#程#/em# WORD版"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"36273","_score":42.72196,"_source":{"id":"36273","title":"\u57fa\u4e8eTCP\u548cUDP\u7684Socket\u7f16\u7a0b WORD\u7248","spidertime":"1622961289","contenttime":"1675219712","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/170406\/0T33Ab962.png","tag":"tcp|UDP|Socket|\u7f16\u7a0b","cate1":"\u7535\u5b50\u4e66\u7c4d","cate2":"\u7f16\u7a0b\u5f00\u53d1","cate3":"\u7f16\u7a0b\u5176\u5b83","attr1":"13.7KB"},"highlight":{"title":["#em#基#/em#于#em#TCP#/em##em#和#/em##em#UDP#/em#的#em#Socket#/em##em#编#/em##em#程#/em# WORD版"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"69148","_score":28.60415,"_source":{"id":"69148","title":"PYTHON\u7f51\u7edc\u7f16\u7a0b\u57fa\u7840 pdf\u7248","spidertime":"1623080825","contenttime":"1680370801","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/130122\/1P54512V8.gif","tag":"Python|\u7f51\u7edc\u7f16\u7a0b","cate1":"\u7535\u5b50\u4e66\u7c4d","cate2":"\u7f16\u7a0b\u5f00\u53d1","cate3":"Python\u7535\u5b50\u4e66","attr1":"26MB"},"highlight":{"title":["PYTHON#em#网#/em##em#络#/em##em#编#/em##em#程#/em##em#基#/em##em#础#/em# pdf版"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"33950","_score":28.60415,"_source":{"id":"33950","title":"PYTHON\u7f51\u7edc\u7f16\u7a0b\u57fa\u7840 pdf\u7248","spidertime":"1622958529","contenttime":"1622958529","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/130122\/1P54512V8.gif","tag":"Python|\u7f51\u7edc\u7f16\u7a0b","cate1":"\u7535\u5b50\u4e66\u7c4d","cate2":"\u7f16\u7a0b\u5f00\u53d1","cate3":"Python\u7535\u5b50\u4e66","attr1":"26MB"},"highlight":{"title":["PYTHON#em#网#/em##em#络#/em##em#编#/em##em#程#/em##em#基#/em##em#础#/em# pdf版"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"71583","_score":27.87973,"_source":{"id":"71583","title":"linux socket\u7f51\u7edc\u7f16\u7a0b\u8be6\u89e3 \u4e2d\u6587WORD\u7248","spidertime":"1623127257","contenttime":"1625112347","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/161223\/0S9445bL3.png","tag":"Linux|Socket|\u7f51\u7edc\u7f16\u7a0b","cate1":"\u7535\u5b50\u4e66\u7c4d","cate2":"Linux_unix","attr1":"15.2KB"},"highlight":{"title":["#em#linux#/em# #em#socket#/em##em#网#/em##em#络#/em##em#编#/em##em#程#/em#详解 中文WORD版"]}}]}}"
Linux socket网络编程基础 tcp和udp - 爱码网
Socket TCP网络通信编程
首先,服务器端需要做以下准备工作:
(1)调用socket()函数。建立socket对象,指定通信协议。
(2)调用bind()函数。将创建的socket对象与当前主机的某一个IP地和端口绑定。
(3)调用listen()函数。使socket对象处于监听状态,并设置监听队列大小。
客户端需要做以下准备工作:
(1)调用socket()函数。建立socket()对象,指定相同通信协议。
(2)应用程序可以显式的调用bind()函数为其绑定IP地址和端口,当然,也可以将这工作交给TCP/IP协议栈。
接着建立通信连接:
(1)客户端调用connect()函数。向服务器端发出连接请求。
(2)服务端监听到该请求,调用accept()函数接受请求,从而建立连接,并返回一个新的socket文件描述符专门处理该连接。
然后通信双方发送/接收数据:
(1)服务器端调用write()或send()函数发送数据,客户端调用read()或者recv()函数接收数据。反之客户端发送数据,服务器端接收数据。
(2)通信完成后,通信双方都需要调用close()或者shutdown()函数关闭socket对象。
类比电话通信,面向连接的socket通信实现图

展示一个代码示例:
服务端:
#include<stdio.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<string.h>
#include<unistd.h>
#include <arpa/inet.h>
#include<pthread.h>
static void usage(const char *proc)
{
printf("Please use :%s [IP] [port]\n",proc);
}
void thread_run(void *arg)
{
printf("creat a new thread\n");
int fd = (int)arg;
char buf[1024];
while(1){
memset(buf,'\0',sizeof(buf));
ssize_t _s = read(fd,buf,sizeof(buf) - 1);
if(_s > 0){
buf[_s] = '\0';
printf("client say : %s\n",buf);
}
memset(buf,'\0',sizeof(buf));
printf("please Enter: ");
fflush(stdout);
ssize_t _s2 = read(0,buf,sizeof(buf) - 1);
if(_s2 > 0){
write(fd,buf,strlen(buf));
}
}
}
int main(int argc,char *argv[])
{
if(argc != 3){
usage(argv[0]);
exit(1);
}
//1.creat socket
int sock = socket(AF_INET,SOCK_STREAM,0);
if(sock < 0){
perror("creat socket error\n");
return 1;
}
struct sockaddr_in local;
local.sin_family = AF_INET;
local.sin_port = htons(atoi(argv[2]));
local.sin_addr.s_addr = inet_addr(argv[1]);
//2.bind
if(bind(sock,(struct sockaddr*)&local,sizeof(local)) < 0){
perror("bind error\n");
close(sock);
return 2;
}
//3.listen
if(listen(sock,10) < 0){
perror("listen error\n");
close(sock);
return 3;
}
printf("bind and listen success!wait accept...\n");
//4.accept
struct sockaddr_in peer;
socklen_t len = sizeof(peer);
while(1){
int fd = accept(sock,(struct sockaddr*)&peer ,&len);
if(fd < 0){
perror("accept error\n");
close(sock);
return 4;
}
printf("get connect,ip is : %s port is : %d\n",inet_ntoa(peer.sin_addr),ntohs(peer.sin_port));
pthread_t id;
pthread_create(&id,NULL,thread_run,(void*)fd);
pthread_detach(id);
}
close(sock);
return 0;
}
客户端:
#include<stdio.h>
#include<unistd.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<string.h>
#include<errno.h>
#include<netinet/in.h>
#include<arpa/inet.h>
static void usage(const char *proc)
{
printf("please use : %s [ip] [port]\n",proc);
}
int main(int argc,char *argv[])
{
if( argc != 3 ){
usage(argv[0]);
exit(1);
}
int sock = socket(AF_INET,SOCK_STREAM,0);
if(sock < 0){
perror("socket error");
return 1;
}
struct sockaddr_in remote;
remote.sin_family = AF_INET;
remote.sin_port = htons(atoi(argv[2]));
remote.sin_addr.s_addr = inet_addr(argv[1]);
int ret = connect(sock,(struct sockaddr*)&remote,sizeof(remote));
if(ret < 0){
printf("connect failed:%s\n",strerror(errno));
return 2;
}
printf("connect success!\n");
char buf[1024];
while(1){
memset(buf,'\0',sizeof(buf));
printf("please enter:");
fflush(stdout);
ssize_t _s = read(0,buf,sizeof(buf)-1);
if(_s > 0){
buf[_s - 1] = '\0';
write(sock,buf,strlen(buf));
_s = read(sock,buf,sizeof(buf)-1);
if(_s > 0){
if(strncasecmp(buf,"quit",4) == 0){
printf("qiut\n");
break;
}
buf[_s -1] = '\0';
printf("%s\n",buf);
}
}
}
close(sock);
return 0;
}
UDP网络通信编程
客户不与服务器建立链接,而是管使用sendto函数给服务器发送数据报,其中必须指定目的地址(即服务器地址)作为参数。类似的,服务器不接受来自客户的连接,而只管调用
revcfrom函数等待来自某个客户数据的到达。revcfrom将与所接受到的数据报一道返回客户的协议地址,因此服务器可以把响应发送给正确的客户。


服务端示例

//服务端代码示例:
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
int main(int argc,char *argv[])
{
if(argc != 3){
printf("Please Enter: %s [ip] [port]",argv[0]);
return 1;
}
int sock = socket(AF_INET,SOCK_DGRAM,0);
if(sock < 0){
perror("socket error");
return 2;
}
struct sockaddr_in local;
local.sin_family = AF_INET;
local.sin_port = htons(atoi(argv[2]));
local.sin_addr.s_addr = inet_addr(argv[1]);
if(bind(sock,(struct sockaddr*)&local,sizeof(local)) < 0){
perror("bind error");
return 3;
}
int done = 0;
struct sockaddr_in peer;
socklen_t len = sizeof(peer);
char buf[1024];
while(!done){
memset(buf,'\0',sizeof(buf));
recvfrom(sock,buf,sizeof(buf),0,(struct sockaddr*)&peer,&len);
printf("#########################\n");
printf("get a client,socket: %s:%d\n",inet_ntoa(peer.sin_addr),ntohs(peer.sin_port));
printf("client : %s ,echo client!\n",buf);
printf("#########################\n");
sendto(sock,buf,sizeof(buf),0,(struct sockaddr*)&peer,len);
}
return 0;
}
相关文章:
-
2021-11-13
-
2021-09-25
-
2021-10-02
-
2021-08-06
-
2021-12-25
-
2021-11-13
-
2021-11-23
-
2021-11-23
猜你喜欢
-
2021-12-14
-
2021-11-27
-
2021-11-13
-
2021-06-13
-
2021-11-02
-
2021-11-16
-
2021-11-07
相关资源
-
下载
2023-03-09
-
下载
2023-04-02
-
下载
2021-07-01