码迷,mamicode.com
首页 > 其他好文 > 详细

socket基础实例(一个服务端对应一个客户端情形)

时间:2014-09-21 22:29:01      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   数据   div   sp   on   log   

服务端处理1个客户端的例子

 

运行结果:

执行服务端进程:

[root@localhost single_link]# ./server 
[server]: begin
[server]: loop......
[server]: client[127.0.0.138528] is connected
[server]: recv from client[127.0.0.1:38528]: data=12345, len=1024
[server]: send to   client[127.0.0.1:38528]:12345, retvalue=1024

执行第1个客户端进程,

[root@localhost single_link]# ./client1 
[client]: begin
[client]: connected to server:127.0.0.1:5555
[client]: loop......: input your word:>12345
[client]: send to   server: data=12345, retval=1024
[client]: recv from server: data=12345, len=1024
[client]: loop......: input your word:>

执行第2个客户端进程的时候,

[root@localhost single_link]# ./client2
[client]: begin
[client]: connected to server:127.0.0.1:5555
[client]: loop......: input your word:>1341
[client]: send to   server: data=1341, retval=1024

 

案例总结:

该实例验证的是服务端:客户端=1:1的情形,

从服务端程序逻辑上看,第1个while用于属于accept/connect while循环,完成与client的连接操作,内部的while属于recv/send循环操作,完成与client的数据传输操作。

如果第client1不关闭socket,服务端的recv/send while就不会退出,

所以当第client2连接到server的时候,connec和send都是成功的,但因为服务端正处于与client1的交互中而无法响应send操作,所以client2会block在这里,等待server的数据返回,

这时如题第1个client关闭了,server与client2

socket基础实例(一个服务端对应一个客户端情形)

标签:style   blog   color   os   数据   div   sp   on   log   

原文地址:http://www.cnblogs.com/jacklikedogs/p/3984853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!