|
![]() | 作者: cimsxiyang [cimsxiyang]
![]() |
登录 |
programming model(tcp socket) 大家都知道,tcp是面向连接的,所以呢,tcp应用程序采用的是c/s模式,在通信之前必须先要建立连接。 一般情况下: ---------------------------------client------------------------- 1,打开一个socket 2,发起连接请求(connect) 3,if连接成功,then进行数据交换(read,write,send,recv等) 4,关闭连接(shutdown,close) ---------------------------------server------------------------- 1,打开一个socket 2,将scoket bind到服务器地址上。 3,指定socket为服务器socket(listen),作好接收request的准备 4,等待连接请求(accept) 5,if有连接请求 then 连接建立,进行数据交换(read,write,send,recv等) 6,shutdown ,close。 ----------------------------------------------------------------- 再复杂的tcp应用程序也是离不开这个模式的。 |
地主 发表时间: 04/06 20:21 |
![]() | 回复: group [group] ![]() |
登录 |
能不能给出下面的完整例程? ----服务端---- 打开一个端口=>接受客户端传来的一段信息=>关闭连接 ----客户端---- 建立连接=>连接到上述服务端的指定端口=>发送一段数据=>关闭连接 |
B1层 发表时间: 04/06 20:31 |
![]() | 回复: cimsxiyang [cimsxiyang] ![]() |
登录 |
就小谰兄弟说的,我有一些看法,不知道我的理解是否正确。 只有当server监听到连接请求时候,才能建立连接。所以呢,我觉得你的问题应该是这样: ----服务端---- 监听一个端口=>建立连接=>接受客户端传来的一段信息=>关闭连接 ----客户端---- 发送连接请求=>建立连接=>发送一段数据=>关闭连接 也就是一个主动和被动的关系 请多指教! 谢谢! [此贴被 夕阳(cimsxiyang) 在 4月6日20时38分 编辑过] |
B2层 发表时间: 4/6 20:49 |
![]() | 回复: cimsxiyang [cimsxiyang] ![]() |
登录 |
补充一下: 我上面描述的是通讯过程本身, 小谰说的是指:先在服务器上打开某一个端口,然后监听该端口........ |
B3层 发表时间: 04/07 00:00 |
![]() | 回复: group [group] ![]() |
登录 |
我说的稀里糊涂的,你明白就好 |
B4层 发表时间: 04/07 18:24 |
![]() | 回复: cimsxiyang [cimsxiyang] ![]() |
登录 |
是我太....... :) 对了,我完整的例程已经写出来了,很粗拙,请给点意见! |
B5层 发表时间: 04/07 18:27 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号