⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 如何编写linux下的客户机-服务器软件-xxlinux_com2.htm

📁 如何编写linux的客户端与服务器的教程,简单实用
💻 HTM
📖 第 1 页 / 共 4 页
字号:
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR><SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>int main(int argc,char 
            *argv[])<SPAN style="DISPLAY: none">it6Linux联盟</SPAN><BR>{<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>int 
            listenfd,communfd;<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>struct sockaddr_in 
            servaddr;<SPAN style="DISPLAY: none">it6Linux联盟</SPAN><BR>pid_t 
            childpid;<SPAN style="DISPLAY: none">it6Linux联盟</SPAN><BR>time_t 
            tick;<SPAN style="DISPLAY: none">it6Linux联盟</SPAN><BR>char 
            buf[1024];<SPAN style="DISPLAY: none">it6Linux联盟</SPAN><BR><SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>if((listenfd=socket(AF_INET,SOCK_STREAM,0))==-1)<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>{<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>perror("Could not create 
            socket");<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>exit(1);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>}<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR><SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>servaddr.sin_family=AF_INET;<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>servaddr.sin_addr.s_addr=INADDR_ANY; 
            <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>servaddr.sin_port=htons(13);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>if(bind(listenfd,(struct 
            sockaddr *)&amp;servaddr,sizeof(servaddr))==-1)<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>{<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>perror("bind 
            error");<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>exit(1);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>}<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>if(listen(listenfd,254)==-1)<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>{<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>perror("listen 
            error");<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>exit(1);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>}<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>while(communfd=accept(listenfd,(struct 
            sockaddr*)NULL,NULL))<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>{<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>if((childpid=fork())==-1)<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>{<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>perror("fork 
            error");<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>exit(1);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>}<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>else if(childpid==0)<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>{<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>tick=time(NULL);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>snprintf(buf,sizeof(buf),"%.24s<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>",ctime(&amp;tick));<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>write(communfd,buf,strlen(buf));<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>close(communfd);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>}<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>else 
            if(childpid&gt;0)<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>close(communfd); <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR><SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>}<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>exit(0);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>}<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR><SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR><SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>/*timeclient.h*/<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>#include <SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR><SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>int main(int argc,char 
            *argv[])<SPAN style="DISPLAY: none">it6Linux联盟</SPAN><BR>{<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>int communfd,n;<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>struct sockaddr_in 
            servaddr;<SPAN style="DISPLAY: none">it6Linux联盟</SPAN><BR>char 
            recieve[1024],buf[1024];<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR><SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>if(argc!=2)<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>{<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>perror("Usage: client 
            ");<SPAN style="DISPLAY: none">it6Linux联盟</SPAN><BR>exit(1);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>}<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>if((communfd=socket(AF_INET,SOCK_STREAM,0))==-1)<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>{<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>perror("socket 
            error");<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>exit(1);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>}<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>servaddr.sin_family=AF_INET;<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>servaddr.sin_port=htons(13);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>if((servaddr.sin_addr.s_addr=inet_addr(argv[1]))==INADDR_NONE)<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>{<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>perror("inet_addr 
            error");<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>exit(1);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>}<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>if(connect(communfd,(struct 
            sockaddr*)&amp;servaddr,sizeof(servaddr))==-1)<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>{<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>perror("connect 
            error");<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>exit(1);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>}<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>while((n=read(communfd,recieve,1024))&gt;0)<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>{<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>recieve[n]=0;<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>if(fputs(recieve,stdout)==EOF)<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>perror("fputs 
            error");<SPAN style="DISPLAY: none">it6Linux联盟</SPAN><BR>}<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>close(communfd);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>exit(0);<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>}<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR><SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>用gcc编译两个源程序分别取名为server和client,以根用户身份运行服务器程序(设服务器网络地址为192.168.0.1):<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>server &amp;<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>然后运行客户机程序(设服务器网络地址为192.168.0.1):<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>client 192.168.0.1<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>在客户机上就会反映出服务器上当前的时间如(Tue 
            Feb 29 21:46:19 2000)。<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR><SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR>以上程序代码在redhat 
            6.0上试验通过。在程序代码中有关库函数snprintf、fputs、read、write、close的用法就不在这里说明了,如想了解这些库函数的调用方法可到我的网页http://lzdx.yeah. 
            net/pro_unix.html去查找。在我的网页http://lzdx.yeah.net/pro_uici.html中有关于通用Internet接口(UICI)专用库的介绍,通用Internet接口(UICI)利用Socket库函数提供了一个简化的独立于传输的接口,它从整体上简化了网络程序设计过程。有兴趣的人可到那里去看看。最后祝愿我们每个人都能编写出自己的网络程序。<SPAN 
            style="DISPLAY: none">it6Linux联盟</SPAN><BR></FONT><A 
            href="http://www.xxlinux.com/">Linux联盟</A>收集整理 
            ,转贴请标明原始链接,如有任何疑问欢迎来本站<A 
            href="http://bbs.xxlinux.com/">Linux论坛</A>讨论</FONT></TD>
          <TD width=8></TD></TR>
        <TR>
          <TD></TD>
          <TD>
            <DIV align=right>分页:<A 
            href="http://www.xxlinux.com/linux/article/development/soft/20061016/5033.html">1</A>&nbsp;<A 
            href="http://www.xxlinux.com/linux/article/development/soft/20061016/5033_2.html">[<STRONG>2</STRONG>]</A></DIV></TD>
          <TD></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=0 cellPadding=0 width=548 border=0>
        <TBODY>
        <TR>
          <TD align=left></TD></TR>
        <TR>
          <TD align=middle height=12></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=0 cellPadding=0 width=548 border=0>
        <TBODY>
        <TR>
          <TD align=right>【<A 
            href="http://www.xxlinux.com/linux/e/pl?classid=13&amp;id=5033">评论</A>】【<A 
            href="http://www.xxlinux.com/linux/e/member/fava/add?classid=13&amp;id=5033">加入收藏夹</A>】【<A 
            href="javascript:doZoom(16)">大</A> <A 
            href="javascript:doZoom(14)">中</A> <A 
            href="javascript:doZoom(12)">小</A>】【<A 
            href="http://www.xxlinux.com/linux/e/DoPrint?classid=13&amp;id=5033" 
            target=_blank>打印</A>】【<A 
        href="javascript:window.close()">关闭</A>】</TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=0 cellPadding=0 width=548 border=0>
        <TBODY>
        <TR>
          <TD>
            <SCRIPT type=text/javascript><!--
google_ad_client = "pub-3701573918329010";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as_rimg";
google_cpa_choice = "CAAQ_ZOgnAIaCLtUj9RC7Q0mKJnA93M";
google_ad_channel = "";
//--></SCRIPT>

            <SCRIPT src="如何编写Linux下的客户机-服务器软件-xxlinux_com2.files/show_ads.js" 
            type=text/javascript>
</SCRIPT>
          </TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=1 cellPadding=0 width="99%" align=center 
      bgColor=#ededef border=0>
        <TBODY>
        <TR>
          <TD height=25>※ 相关链接</TD></TR>
        <TR>
          <TD bgColor=#ffffff 
height=35>无相关信息</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE class=copyright_table cellSpacing=0 cellPadding=0 width=778 align=center 
background=如何编写Linux下的客户机-服务器软件-xxlinux_com2.files/copyright.gif border=0>
  <TBODY>
  <TR>
    <TD align=middle width=150 rowSpan=5></TD>
    <TD width=543 colSpan=2 height=2></TD></TR>
  <TR>
    <TD class=copyright_td align=middle width=543></TD>
    <TD class=copyright_td align=middle width=150 rowSpan=3></TD></TR>
  <TR>
    <TD class=copyright_td width=543>
      <DIV align=center>&copy; CopyRight 2006-2009 xxlinux.com.Inc All Rights 
      Reserved</DIV></TD></TR>
  <TR>
    <TD class=copyright_td align=middle width=543>
      <DIV align=center>Powered by xxlinux.com</DIV></TD>
    <TD><A href="http://www.freesitemapgenerator.com/"><IMG 
      style="BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: 0px" 
      alt="Free Sitemap Generator" 
      src="如何编写Linux下的客户机-服务器软件-xxlinux_com2.files/fsgbig1.gif" border=0></A>
      <SCRIPT language=javascript>
/* FSG 0.96 script */ 
var fsg_Live_date_package_version='0.96';
var fsg_image = 'big';
var fsg_serial = 'ef26847978f6b45b3eeace2c7fb1334f';
</SCRIPT>

      <SCRIPT language=javascript 
      src="如何编写Linux下的客户机-服务器软件-xxlinux_com2.files/fsg096.js"></SCRIPT>
       </TD></TR>
  <TR>
    <TD width=543 colSpan=2 height=0></TD></TR></TBODY></TABLE>
<TABLE 
style="BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: #c0c0c0 1px solid; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT: #c0c0c0 1px solid" 
cellSpacing=0 cellPadding=0 width=778 align=center bgColor=#ffffff border=0>
  <TBODY>
  <TR>
    <TD bgColor=#dbe2e8 height=2></TD></TR>
  <TR>
    <TD bgColor=#c5cfd9 height=1></TD></TR>
  <TR>
    <TD bgColor=#ffffff height=1></TD></TR></TBODY></TABLE>
<SCRIPT type=text/javascript><!--
var adlogger_loc = "http://www.xxlinux.com/adlogger";
var channel_id = "";
//--></SCRIPT>

<SCRIPT src="" type=text/javascript>
</SCRIPT>

<SCRIPT src="如何编写Linux下的客户机-服务器软件-xxlinux_com2.files/urchin.js" 
type=text/javascript>
</SCRIPT>

<SCRIPT type=text/javascript>
_uacct = "UA-244517-1";
urchinTracker();
</SCRIPT>

<SCRIPT src="如何编写Linux下的客户机-服务器软件-xxlinux_com2.files/onclick.htm"></SCRIPT>
<!--Published Date:2007-11-19 17:39:18   Powered by www.phome.net,Products:Empire CMS--></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -