社区
网络及通讯开发
帖子详情
只用一个ClientSocket可不可以发送消息?
adventurezl
2003-04-11 02:57:43
不使用ServerSocket,能实现么?
...全文
52
5
打赏
收藏
只用一个ClientSocket可不可以发送消息?
不使用ServerSocket,能实现么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pp616
2003-04-11
打赏
举报
回复
ClientSocket 是基于TCP协议的。
TCP协议通讯必须先握手然后才可以通讯。
如果只有C而没有S是不可能的。
当然S可以用ServerSocket,可以用Indy的TCPServer,或是自己用Socket api写都可以。
yesry
2003-04-11
打赏
举报
回复
ClientSocket1->Host="www.21cn.com";
ClientSocket1->Post=80;
ClientSocket1->Open();
在Connect事件
ClientSocket1->Send("GET http://www.21cn./com/ \r\n\r\n");
netsys2
2003-04-11
打赏
举报
回复
你去看一下Examples\Internet\chat的例子,里面有Client和Server,包括你问的那几个函数。
pp616
2003-04-11
打赏
举报
回复
首先你要先让C 和 S 握手
S端 ServerSocket1->Port=...;
ServerSocket1->Active=true;//开始监听
C端 ClientSocket1->Host="..";//S端ip地址
ClientSocket1->Port=...;//S端的port
ClientSocket1->Active=true;//连接S端
连接后S端会有OnClientConnect C端会有OnConnect
握手后两端都可以用TCustomWinSocket::SendText来发送信息。
S端收到信息会有OnClientRead C端有OnRead.
然后用TCustomWinSocket::ReceiveText来读收到的数据。
adventurezl
2003-04-11
打赏
举报
回复
to pp616(傻小子) :ServerSocket和ClientSocket都可以发送消息的,两者有什么区别?两者的OnRead,OnWrite,OnClientRead,OnClientWrite,以及SendText()怎么用?我是菜鸟,刚接手这方面,恳请赐教!
项目(百万并发网络通信架构)11.2---将
消息
的接收与
发送
分离
一、前言 在前面的文章中,我们的服务端在接收到客户端的数据之后,对数据处理完会给客户端回送
一个
消息
,这种做法实际上是低效的,因为在数据recv()接收之后再去调用send(),那么当send()阻塞或速度过慢时,会导致当前线程无法继续向前执行或执行较慢,那么会影响后面recv()的再次调用,从而降低服务端的性能,而且会使缓冲区膨胀 二、将
消息
的接收与
发送
分离方案 我们将recv()之后给客户端...
电子科大计网期末复习之传输层
主机甲和主机乙之间已建立
一个
TCP连接,TCP最大段长度为1000字节,若主机甲的当前拥塞窗口为4000字节,在主机甲向主机乙连接
发送
2个最大段后,成功收到主机乙
发送
的第一段的确认段,确认段中通告的接收窗口大小为2000字节,则此时主机甲还可以向主机乙
发送
的最大字节数是(A)然后经历10个RTT后,拥塞窗口的大小依次为2、4、5、6、7、8、9、10、11、12,而
发送
窗口取当时的拥塞窗口和接收窗口的最小值,而接收窗口始终为10KB,所以此时的
发送
窗口为10KB。因此,应用程序必须选择合适大小的报文。
Socket
请求和Http请求区别和场景
由于
socket
通信是阻塞式的,假设我现在有A和B两个客户端同时连接到服务端上,当客户端A
发送
信息给服务端后,那么服务端将一直阻塞在A的客户端上(就是我们上诉说的accept阻塞),通过while循环从A客户端读取信息,此时如果B给服务端
发送
信息时,将进入阻塞队列,直到A客户端
发送
完毕,并且退出后,B才可以和服务端进行通信。简单地说,我们现在实现的功能,虽然可以让客户端不间断的和服务端进行通信,与其说是一对一的功能,因为只有当客户端A关闭后,客户端B才可以真正和服务端进行通信,这显然不是我们想要的。
项目(百万并发网络通信架构)11.1---修改数据接收缓冲区、新增数据
发送
缓冲区
一、修改数据接收缓冲区 在前面的两篇文章中,我们分别为服务端和客户端都设计了数据的接收缓冲区,那两篇文章中的设计中,分别建立了两个缓冲区,
一个
缓冲区用来先存储从recv()中接收到的数据,然后再拷贝到另外
一个
缓冲区中进行处理,本文将两个缓冲区改为只
只用
一个
缓冲区。可以参阅:https://blog.csdn.net/qq_41453285/article/details/105405445、ht...
client
网络模块的开发和
client
与server端的部分联动调试
client
端的deal函数,我们需要处理server端发来的很多包,但是我们又要防止内存泄漏,我们也不知道server端一次性给
client
端发了多少包,就不知道在这个函数哪个地方释放掉这个内存,但是我们知道的是
client
端的
socket
释放时候,我们那个包肯定处理完了,所以我们搞
一个
成员变量,让其在析构时候自动delete掉,我们想到了vecter,随对象的释放而析构。因为
client
对server是短连接,所以server端的deal函数
只用
处理
一个
包,可以随着过程释放new出来的空间。
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章