亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? faq.html

?? Beej的socket教材
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
<HTML><HEAD><TITLE>Common Questions</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.70"><LINKREL="HOME"TITLE="Beej's Guide to Network Programming"HREF="index.html"><LINKREL="PREVIOUS"TITLE="More References"HREF="reference.html"><LINKREL="NEXT"TITLE="Disclaimer and Call for Help"HREF="conclusion.html"><METAHTTP-EQUIV="Content-Type"CONTENT="text/html; charset=utf-8"></HEAD><BODYCLASS="sect1"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">Beej's Guide to Network Programming</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="reference.html">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom"></TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="conclusion.html">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="sect1"><H1CLASS="sect1"><ANAME="faq">8. Common Questions</A></H1><DIVCLASS="qandaset"><DL><DT>Q: <AHREF="faq.html#AEN1346">Where can I get those header files?</A></DT><DT>Q: <AHREF="faq.html#AEN1352">What do I do when <TTCLASS="function">bind()</TT> reports"Address already in use"?</A></DT><DT>Q: <AHREF="faq.html#AEN1364">How do I get a list of open sockets on thesystem?</A></DT><DT>Q: <AHREF="faq.html#AEN1376">How can I view the routing table?</A></DT><DT>Q: <AHREF="faq.html#AEN1384">How can I run the client and server programs if I onlyhave one computer?  Don't I need a network to write networkprogram?</A></DT><DT>Q: <AHREF="faq.html#AEN1398">How can I tell if the remote side has closedconnection?</A></DT><DT>Q: <AHREF="faq.html#AEN1405">How do I implement a "ping" utility?  What is ICMP?Where can I find out more about raw sockets and<TTCLASS="constant">SOCK_RAW</TT>?</A></DT><DT>Q: <AHREF="faq.html#AEN1412">How do I build for Windows?</A></DT><DT>Q: <AHREF="faq.html#AEN1419">How do I build for Solaris/SunOS?  I keep getting linkererrors when I try to compile!</A></DT><DT>Q: <AHREF="faq.html#AEN1425">Why does <TTCLASS="function">select()</TT> keep falling outon a signal?</A></DT><DT>Q: <AHREF="faq.html#AEN1444">How can I implement a timeout on a call to<TTCLASS="function">recv()</TT>?</A></DT><DT>Q: <AHREF="faq.html#AEN1461">How do I encrypt or compress the data before sending itthrough the socket?</A></DT><DT>Q: <AHREF="faq.html#AEN1491">What is this "<TTCLASS="constant">PF_INET</TT>" I keepseeing?  Is it related to<TTCLASS="constant">AF_INET</TT>?</A></DT><DT>Q: <AHREF="faq.html#AEN1500">How can I write a server that accepts shell commandsfrom a client and executes them?</A></DT><DT>Q: <AHREF="faq.html#AEN1545">I'm sending a slew of data, but when I<TTCLASS="function">recv()</TT>, it only receives 536 bytes or 1460 bytes ata time.  But if I run it on my local machine, it receives all the dataat the same time.  What's going on?</A></DT><DT>Q: <AHREF="faq.html#AEN1558">I'm on a Windows box and I don't have the<TTCLASS="function">fork()</TT> system call or any kind of <TTCLASS="type">structsigaction</TT>.  What to do?</A></DT><DT>Q: <AHREF="faq.html#AEN1573">How do I send data securely with TCP/IP usingencryption?</A></DT><DT>Q: <AHREF="faq.html#AEN1579">I'm behind a firewall--how do I let people outside thefirewall know my IP address so they can connect to mymachine?</A></DT></DL><DIVCLASS="qandaentry"><DIVCLASS="question"><P><ANAME="AEN1346"></A><B>Q: </B>Where can I get those header files?</P></DIV><DIVCLASS="answer"><P><B>A: </B>If you don't have them on your system already, youprobably don't need them.  Check the manual for your particularplatform.  If you're building for Windows, you only need to<TTCLASS="computeroutput">#include&#60;winsock.h&#62;</TT>.</P></DIV></DIV><DIVCLASS="qandaentry"><DIVCLASS="question"><P><ANAME="AEN1352"></A><B>Q: </B>What do I do when <TTCLASS="function">bind()</TT> reports"Address already in use"?</P></DIV><DIVCLASS="answer"><P><B>A: </B>You have to use <TTCLASS="function">setsockopt()</TT> with the<TTCLASS="constant">SO_REUSEADDR</TT> option on the listening socket.  Checkout the <AHREF="syscalls.html#bind">section on<TTCLASS="function">bind()</TT></A> and the <AHREF="advanced.html#select">section on <TTCLASS="function">select()</TT></A> for anexample.</P></DIV></DIV><DIVCLASS="qandaentry"><DIVCLASS="question"><P><ANAME="AEN1364"></A><B>Q: </B>How do I get a list of open sockets on thesystem?</P></DIV><DIVCLASS="answer"><P><B>A: </B>Use the <BCLASS="command">netstat</B>.  Check the<BCLASS="command">man</B> page for full details, but you should get somegood output just typing:</P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="screen">&#13;<TTCLASS="prompt">$</TT> <BCLASS="command">netstat</B></PRE></TD></TR></TABLE><P>The only trick is determining which socket is associated withwhich program. <TTCLASS="computeroutput">:-)</TT></P></DIV></DIV><DIVCLASS="qandaentry"><DIVCLASS="question"><P><ANAME="AEN1376"></A><B>Q: </B>How can I view the routing table?</P></DIV><DIVCLASS="answer"><P><B>A: </B>Run the <BCLASS="command">route</B> command (in<TTCLASS="filename">/sbin</TT> on most Linuxes) or the command<BCLASS="command">netstat -r</B>.</P></DIV></DIV><DIVCLASS="qandaentry"><DIVCLASS="question"><P><ANAME="AEN1384"></A><B>Q: </B>How can I run the client and server programs if I onlyhave one computer?  Don't I need a network to write networkprogram?</P></DIV><DIVCLASS="answer"><P><B>A: </B>Fortunately for you, virtually all machines implement aloopback network "device" that sits in the kernel and pretends to be anetwork card.  (This is the interface listed as"<TTCLASS="computeroutput">lo</TT>" in the routing table.)</P><P>Pretend you're logged into a machine named"<TTCLASS="computeroutput">goat</TT>".  Run the client in one windowand the server in another.  Or start the server in the background("<BCLASS="command">server &#38;</B>") and run the client in the samewindow.  The upshot of the loopback device is that you can either<BCLASS="command">client goat</B> or <BCLASS="command">client localhost</B>(since "<TTCLASS="computeroutput">localhost</TT>" is likely defined inyour <TTCLASS="filename">/etc/hosts</TT> file) and you'll have the clienttalking to the server without a network!</P><P>In short, no changes are necessary to any of the code to make itrun on a single non-networked machine!  Huzzah!</P></DIV></DIV><DIVCLASS="qandaentry"><DIVCLASS="question"><P><ANAME="AEN1398"></A><B>Q: </B>How can I tell if the remote side has closedconnection?</P></DIV><DIVCLASS="answer"><P><B>A: </B>You can tell because <TTCLASS="function">recv()</TT> willreturn <TTCLASS="constant">0</TT>.</P></DIV></DIV><DIVCLASS="qandaentry"><DIVCLASS="question"><P><ANAME="AEN1405"></A><B>Q: </B>How do I implement a "ping" utility?  What is ICMP?Where can I find out more about raw sockets and<TTCLASS="constant">SOCK_RAW</TT>?</P></DIV><DIVCLASS="answer"><P><B>A: </B>All your raw sockets questions will be answered in W.Richard Stevens' UNIX Network Programming books.  See the <AHREF="reference.html#books">books</A> section of this guide.</P></DIV></DIV><DIVCLASS="qandaentry"><DIVCLASS="question"><P><ANAME="AEN1412"></A><B>Q: </B>How do I build for Windows?</P></DIV><DIVCLASS="answer"><P><B>A: </B>First, delete Windows and install Linux or BSD.<TTCLASS="computeroutput">};-)</TT>.  No, actually, just see the <AHREF="intro.html#windows">section on building forWindows</A> in the introduction.</P></DIV></DIV><DIVCLASS="qandaentry"><DIVCLASS="question"><P><ANAME="AEN1419"></A><B>Q: </B>How do I build for Solaris/SunOS?  I keep getting linkererrors when I try to compile!</P></DIV><DIVCLASS="answer"><P><B>A: </B>The linker errors happen because Sun boxes don'tautomatically compile in the socket libraries.  See the <AHREF="intro.html#solaris">section on building for Solaris/SunOS</A> in theintroduction for an example of how to do this.</P></DIV></DIV><DIVCLASS="qandaentry"><DIVCLASS="question"><P><ANAME="AEN1425"></A><B>Q: </B>Why does <TTCLASS="function">select()</TT> keep falling outon a signal?</P></DIV><DIVCLASS="answer"><P><B>A: </B>Signals tend to cause blocked system calls to return<TTCLASS="constant">-1</TT> with <TTCLASS="parameter"><I>errno</I></TT> set to<TTCLASS="constant">EINTR</TT>.  When you set up a signal handler with<TTCLASS="function">sigaction()</TT>, you can set the flag<TTCLASS="constant">SA_RESTART</TT>, which is supposed to restart the systemcall after it was interrupted.</P><P>Naturally, this doesn't always work.</P><P>My favorite solution to this involves a<TTCLASS="computeroutput">goto</TT> statement.  You know thisirritates your professors to no end, so go for it!</P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="programlisting">&#13;select_restart:    if ((err = select(fdmax+1, &#38;readfds, NULL, NULL, NULL)) == -1) {        if (errno == EINTR) {            // some signal just interrupted us, so restart            goto select_restart;        }        // handle the real error here:        perror("select");    } </PRE></TD></TR></TABLE><P>Sure, you don't <EM>need</EM> to use<TTCLASS="computeroutput">goto</TT> in this case; you can use otherstructures to control it.  But I think the<TTCLASS="computeroutput">goto</TT> statement is actuallycleaner.</P></DIV></DIV><DIVCLASS="qandaentry"><DIVCLASS="question"><P><ANAME="AEN1444"></A

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲毛片av在线| av动漫一区二区| 成人久久视频在线观看| 欧美午夜寂寞影院| 精品久久久久久久久久久院品网 | 亚洲柠檬福利资源导航| 久久成人综合网| 欧美在线一区二区| 中文字幕一区二区不卡| 国产一区不卡精品| 欧美一区二区三区成人| 亚洲精品乱码久久久久久| 国产精品白丝av| 精品国产免费视频| 蜜乳av一区二区三区| 欧美性感一区二区三区| 中文字幕一区二区在线观看| 国产酒店精品激情| 欧美tickling挠脚心丨vk| 亚洲成a人片在线不卡一二三区| 成人app软件下载大全免费| 国产亚洲1区2区3区| 国产一区二区三区在线观看精品 | 欧美日韩在线播放| 最新成人av在线| 国产超碰在线一区| 久久精品人人爽人人爽| 黄色精品一二区| 欧美成人三级在线| 国产一区二区三区电影在线观看 | 国产精品麻豆99久久久久久| 国产伦精品一区二区三区免费迷| 日韩一区二区三区精品视频| 日本欧美大码aⅴ在线播放| 67194成人在线观看| 亚洲国产成人高清精品| 欧美色精品在线视频| 午夜av区久久| 日韩精品中午字幕| 极品少妇xxxx精品少妇| 久久蜜桃av一区二区天堂 | 欧美极品aⅴ影院| jizzjizzjizz欧美| 亚洲黄色免费电影| 欧美日韩成人综合天天影院| 天堂资源在线中文精品| 欧美一区二区三区公司| 韩国欧美一区二区| 国产精品网站导航| 日本乱人伦一区| 日韩精品国产欧美| 精品国产在天天线2019| 国产98色在线|日韩| 亚洲精选在线视频| 欧美精品久久久久久久多人混战 | 久久久久久久综合色一本| 春色校园综合激情亚洲| 亚洲男人都懂的| 欧美日韩高清在线| 国产乱码精品一区二区三| 中文字幕在线一区| 91麻豆精品国产自产在线| 国产精品一区二区x88av| 亚洲欧美日韩电影| 日韩午夜av电影| 99久久精品国产毛片| 亚洲一区二区视频| www激情久久| 日本高清不卡在线观看| 久久99精品久久久久久国产越南| 久久久99精品久久| 欧美视频三区在线播放| 久久精品av麻豆的观看方式| 亚洲欧美在线高清| 日韩欧美不卡在线观看视频| 91在线精品秘密一区二区| 奇米影视一区二区三区| 亚洲色大成网站www久久九九| 欧美一区三区四区| 91免费版在线| 久久av资源网| 午夜成人免费电影| 成人免费一区二区三区视频| 欧美精品一区二区在线播放| 在线观看国产日韩| 国产精品亚洲成人| 免费成人在线视频观看| 亚洲激情自拍视频| 国产精品素人一区二区| 日韩亚洲欧美一区| 欧美性淫爽ww久久久久无| 成人理论电影网| 国产一区二区三区久久悠悠色av| 亚洲二区在线观看| 亚洲另类春色校园小说| 国产精品久久夜| 久久久国产综合精品女国产盗摄| 欧美另类高清zo欧美| 色噜噜狠狠色综合中国| 成人免费视频国产在线观看| 麻豆91精品视频| 日韩高清不卡一区| 无码av免费一区二区三区试看| 国产精品国产三级国产专播品爱网| 日韩欧美精品三级| 欧美一级xxx| 欧美一级二级三级蜜桃| 91精品啪在线观看国产60岁| 欧美午夜一区二区| 欧美日韩大陆一区二区| 91高清视频免费看| 欧美在线综合视频| 91成人在线观看喷潮| 欧美最猛性xxxxx直播| 在线视频一区二区三| 色噜噜久久综合| 91久久精品一区二区三| 在线精品视频免费播放| 91精品福利在线| 欧美日韩精品一区二区在线播放| 欧美视频一区二| 欧美丰满少妇xxxbbb| 亚洲精品免费一二三区| 亚洲成人av中文| 日本韩国欧美国产| 欧美私人免费视频| 91精品国产综合久久婷婷香蕉| 欧美午夜在线一二页| 日韩一区二区在线免费观看| 欧美成人vps| 国产性色一区二区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产精品久久久久久久浪潮网站| 中文字幕一区二区不卡| 一区二区三区小说| 秋霞影院一区二区| 国产一区二区按摩在线观看| 成人福利视频网站| 精品视频色一区| 精品国产91洋老外米糕| 国产精品久久久久久久久搜平片 | 久久久蜜桃精品| 亚洲女女做受ⅹxx高潮| 日韩国产精品久久久久久亚洲| 久久精品国产免费| 成人app网站| 欧美一区午夜视频在线观看| 欧美激情一区二区三区| 精品制服美女丁香| 99综合电影在线视频| 精品视频在线免费看| 久久久九九九九| 亚洲二区在线观看| 懂色av一区二区三区免费观看 | 无吗不卡中文字幕| 国产盗摄视频一区二区三区| 日本精品一区二区三区高清 | 国产麻豆一精品一av一免费 | 国产丝袜欧美中文另类| 亚洲成人自拍一区| 国产成人综合亚洲网站| 91福利精品视频| 国产欧美精品在线观看| 天天操天天综合网| 91视频观看视频| 久久久亚洲高清| 视频一区二区中文字幕| 97久久超碰精品国产| 久久久久久久久岛国免费| 亚洲一区二区中文在线| 不卡的av中国片| 欧美zozo另类异族| 五月综合激情婷婷六月色窝| 成人一区在线观看| 日韩欧美国产综合在线一区二区三区| 亚洲欧美日韩系列| 丁香网亚洲国际| 一区二区在线观看免费 | 91亚洲男人天堂| 国产亚洲一区字幕| 美腿丝袜亚洲三区| 欧美另类高清zo欧美| 一区二区三区日韩精品| 波多野洁衣一区| 国产调教视频一区| 韩国在线一区二区| 一区二区三区四区在线免费观看| 久久成人羞羞网站| 91精品国产色综合久久久蜜香臀| 一区二区三区四区亚洲| www.av精品| 国产精品国产自产拍高清av| 粗大黑人巨茎大战欧美成人| 久久你懂得1024| 国产一区二区按摩在线观看| 亚洲精品一线二线三线无人区| 青青草国产成人av片免费| 欧美高清视频在线高清观看mv色露露十八| 亚洲蜜臀av乱码久久精品| 色综合久久综合网97色综合 |