<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[example]c Linux socket]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Sun, 25 Nov 2007 02:31:02 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	下面我们先编写一个非常简单的套接口客户端程序client,这个程序较为简单,它演示了一个无名的套接口连接, <br/>以及如何与一个服务器套接口连接,假设服务器套接口的名字是色server_socket. <br/>/* <br/>client.c <br/>*/ <br/>#include &lt;sys/types.h&gt; <br/>#include &lt;sys/socket.h&gt; <br/>#include &lt;stdio.h&gt; <br/>#include &lt;sys/un.h&gt; <br/>#include &lt;unistd.h&gt; <br/>int main() <br/>{ <br/>int sockfd; <br/>int len; <br/>struct sockaddr_un address; <br/>int result; <br/>char ch=A; &nbsp; //A好像有问题，改为ch了。。。编译通过。<br/>sockfd=socket(AF_UNIX,SOCK_STREAM,0); <br/>/*以上建立客户端的套接口,采用AF_UNIX的unix域协议*/ <br/>address.sun_family=AF_UNIX; <br/>strcpy(address.sun_path,&quot;server_socket&quot;); <br/>len=sizeof(address); <br/>/*以上创建服务器套接口的地址,其中包括套接口类型,名称*/ <br/>result=connect(sockfd,(struct sockaddr *)&amp;address,len); <br/><br/>if(result==-1){ <br/>perror(&quot;oops:client1&quot;); <br/>exit(1); <br/><br/>} <br/>/*以上我们试图与服务器套接口建立连接*/ <br/>write(sockfd,&amp;ch,1); <br/>read(sockfd,&amp;ch,1); <br/>/*如果成功,将向服务器端发送一个字符,然后读取服务器的回答*/ <br/><br/>printf(&quot;char from server=%c&#92;n&quot;,ch); <br/>close(sockfd); <br/>exit(0); <br/>} <br/><br/>/* <br/>server.c <br/>*/ <br/>#include &lt;sys/types.h&gt; <br/>#include &lt;sys/socket.h&gt; <br/>#include &lt;stdio.h&gt; <br/>#include &lt;sys/un.h&gt; <br/>#include &lt;unistd.h&gt; <br/>int main() <br/>{ <br/>int server_sockfd,client_sockfd; <br/>int server_len,client_len; <br/>struct sockaddr_un server_address; <br/>struct sockaddr_un client_address; <br/>unlink(&quot;server_socket&quot;); <br/>/*如果存在同名的套接口,则先删除*/ <br/>server_sockfd=socket(AF_UNIX,SOCK_STREAM,0); <br/>/*以上建立套接口,这时候无名*/ <br/>server_address.sun_family=AF_UNIX; <br/>strcpy(server_address.sun_path,&quot;server_socket&quot;); <br/>server_len=sizeof(server_address); <br/>bind(server_sockfd,(struct sockaddr *)&amp;server_address,server_len); <br/><br/>listen(server_sockfd,5); <br/>/*以上创建监听队列.等待用户的连接请求*/ <br/>while(1) <br/>{ <br/>char ch; <br/>printf(&quot;server waiting&#92;n&quot;); <br/>client_sockfd=accept(server_sockfd,(struct sockaddr *)&amp;client_address,&amp;client_len); <br/>/*以上接受一个客户的请求*/ <br/>read(client_sockfd,&amp;ch,1); <br/>/*因为连接一旦建立,客户就会先发消息过来,所以服务器先读*/ <br/>ch++; <br/>write(client_sockfd,&amp;ch,1); <br/>/*把读取的字符串做简单处理,回送*/ <br/>close(client_sockfd); <br/>} <br/>} <br/><br/>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [example]c Linux socket]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>