{"id":2900,"date":"2014-09-02T15:25:49","date_gmt":"2014-09-02T15:25:49","guid":{"rendered":"http:\/\/blog.bachi.net\/?p=2900"},"modified":"2014-09-12T12:56:01","modified_gmt":"2014-09-12T12:56:01","slug":"socket-programming","status":"publish","type":"post","link":"https:\/\/blog.bachi.net\/?p=2900","title":{"rendered":"Socket Programming"},"content":{"rendered":"<h3>General<\/h3>\n<p><a href=\"http:\/\/www.hea.net\/share\/ipv6-programming\/\">IPv6 Network Programming<\/a><br \/>\n<a href=\"http:\/\/www.microhowto.info\/howto\/listen_for_and_accept_tcp_connections_in_c.html\">Listen for and accept TCP connections in C<\/a><br \/>\n<a href=\"http:\/\/csweb.cs.wfu.edu\/~torgerse\/Kokua\/Irix_6.5.21_doc_cd\/usr\/share\/Insight\/library\/SGI_bookshelves\/SGI_Developer\/books\/IRIX_NetPG\/sgi_html\/ch03.html\">Sockets-based Communication Using IPv6<\/a><br \/>\n<a href=\"http:\/\/www.tldp.org\/HOWTO\/Linux+IPv6-HOWTO\/index.html\">Linux IPv6 HOWTO (en)<\/a><br \/>\n<a href=\"http:\/\/www.tldp.org\/HOWTO\/Linux+IPv6-HOWTO\/chapter-section-using-api.html\">Programming using C-API<\/a><br \/>\n<a href=\"http:\/\/www.yolinux.com\/TUTORIALS\/Sockets.html\">Socket programming and the C BSD API<\/a><br \/>\n<a href=\"http:\/\/www.mew.org\/~kazu\/doc\/piprog\/index.html\">Protocol Independent Programming<\/a><br \/>\n<a href=\"http:\/\/www.microhowto.info\/howto\/convert_an_ip_address_to_a_human_readable_string_in_c.html\">Convert an IP address to a human-readable string in C<\/a><\/p>\n<h3>DNS<\/h3>\n<p><a href=\"https:\/\/developers.google.com\/speed\/public-dns\/docs\/using\">Using Google Public DNS (with IPv6)<\/a><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nipv6.google.com\r\n<\/pre>\n<h3>Beej&#8217;s Guide to Network Programming<\/h3>\n<p><a href=\"http:\/\/www.beej.us\/guide\/bgnet\/output\/html\/multipage\/gethostbynameman.html\">9.7. gethostbyname(), gethostbyaddr()<\/a><\/p>\n<h3>Manual Pages<\/h3>\n<h4>Wikipedia<\/h4>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/Getaddrinfo\">getaddrinfo<\/a><\/p>\n<h4>linux.die.net<\/h4>\n<p><a href=\"http:\/\/linux.die.net\/man\/3\/getaddrinfo\">getaddrinfo(3)<\/a><\/p>\n<h4>man7.org<\/h4>\n<p><a href=\"http:\/\/man7.org\/linux\/man-pages\/man3\/gethostbyname.3.html\">GETHOSTBYNAME(3)<\/a><\/p>\n<h3>Question &#038; Statements<\/h3>\n<p><a href=\"http:\/\/stackoverflow.com\/questions\/1618240\/how-to-support-both-ipv4-and-ipv6-connections\">How to support both IPv4 and IPv6 connections<\/a><br \/>\n<a href=\"http:\/\/lists.freebsd.org\/pipermail\/freebsd-hackers\/2012-July\/039962.html\">FreeBSD: Interesting facts about AI_ADDRCONFIG<\/a><br \/>\n<a href=\"http:\/\/stackoverflow.com\/questions\/3736335\/tell-whether-a-text-string-is-an-ipv6-address-or-ipv4-address-using-standard-c-s\">Tell whether a text string is an IPv6 address or IPv4 address using standard C sockets API<\/a><br \/>\n<a href=\"http:\/\/stackoverflow.com\/questions\/6253665\/how-to-determine-if-a-string-is-a-valid-ipv6-address-in-c\">How to determine if a string is a valid IPv6 address in C++?<\/a><\/p>\n<h4>Timeout<\/h4>\n<p><a href=\"http:\/\/stackoverflow.com\/questions\/2876024\/linux-is-there-a-read-or-recv-from-socket-with-timeout\">Linux: is there a read or recv from socket with timeout?<\/a><br \/>\n<a href=\"http:\/\/stackoverflow.com\/questions\/393276\/socket-with-recv-timeout-what-is-wrong-with-this-code\">Socket with recv-timeout: What is wrong with this code?<\/a><br \/>\n<a href=\"http:\/\/stackoverflow.com\/questions\/20618216\/does-recv-operate-this-way\">Does recv(\u2026) operate this way?<\/a><\/p>\n<h3>RFC<\/h3>\n<p><a href=\"http:\/\/tools.ietf.org\/html\/rfc3493\">RFC 3493 &#8211; Basic Socket Interface Extensions for IPv6<\/a>, February 2003<br \/>\n<a href=\"http:\/\/tools.ietf.org\/html\/rfc4038\">RFC 4038 &#8211; Application Aspects of IPv6 Transition<\/a>, March 2005<\/p>\n","protected":false},"excerpt":{"rendered":"<p>General IPv6 Network Programming Listen for and accept TCP connections in C Sockets-based Communication Using IPv6 Linux IPv6 HOWTO (en) Programming using C-API Socket programming and the C BSD API Protocol Independent Programming Convert an IP address to a human-readable string in C DNS Using Google Public DNS (with IPv6) ipv6.google.com Beej&#8217;s Guide to Network [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2900","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/2900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2900"}],"version-history":[{"count":20,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/2900\/revisions"}],"predecessor-version":[{"id":2952,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/2900\/revisions\/2952"}],"wp:attachment":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}