社区
C#
帖子详情
客户端多线程的问题,急啊
yanglg
2007-08-09 09:51:59
1、先与服务端建立一个基本的联接,及时接收服务端发过来的数据
2、如果当服务端发送一个“Q”指令时,再与服务器创建一个连接,根据协议进行数据交换(服
务端会发根据情况,发N个请求,不是同时发的)
3、基本的联接每隔1分钟向服务端发送一个心跳命令。服务端回复”OK“,则表示联接正常,否
则自动连接服务端。
需要用多线程做,支持服务端的数据并发。
对于以上的要求,我该如果做。希望大家给个思路。
最好有代码,因为,我是菜鸟!
...全文
181
4
打赏
收藏
客户端多线程的问题,急啊
1、先与服务端建立一个基本的联接,及时接收服务端发过来的数据 2、如果当服务端发送一个“Q”指令时,再与服务器创建一个连接,根据协议进行数据交换(服 务端会发根据情况,发N个请求,不是同时发的) 3、基本的联接每隔1分钟向服务端发送一个心跳命令。服务端回复”OK“,则表示联接正常,否 则自动连接服务端。 需要用多线程做,支持服务端的数据并发。 对于以上的要求,我该如果做。希望大家给个思路。 最好有代码,因为,我是菜鸟!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wweennbb
2007-08-10
打赏
举报
回复
每建立一个连接就重新启动一个新的监听线程就行。
当连接断了就中止,然后再重新连接,建立新连和启动新监听纯种
liujie2007
2007-08-10
打赏
举报
回复
给你个例子,参考一下
/// <summary>
/// 请求心跳消息
/// </summary>
/// <param name="strmsguid"></param>
private void RequestHeart(string strmsguid)
{
string des = ",Ack MML=Heart Beat:MSGID="+strmsguid+";";
NetSocket(this.serverSocket, des);
}
public void NetSocket(Socket serverSocket, string des)
{
try
{
lock(typeof(OneSpMonitorBLL))
{
NetworkStream net = new NetworkStream(serverSocket);
string title="len=";
byte[] bytetitle = Encoding.ASCII.GetBytes(title);
byte[] bytelen = new byte[4];
byte[] byteDes = Encoding.ASCII.GetBytes(des);
int lenTitle = bytetitle.Length;
int lenLen = bytelen.Length;
int lenDes = byteDes.Length;
int totalLength = lenTitle+lenLen+lenDes;
bytelen = BitConverter.GetBytes(IPAddress.HostToNetworkOrder(totalLength));
byte[] totals = new byte[totalLength];
Array.Copy(bytetitle, 0, totals, 0, lenTitle);
Array.Copy(bytelen, 0, totals, lenTitle, lenLen);
Array.Copy(byteDes, 0, totals, lenLen+lenTitle, lenDes);
net.Write(totals, 0, totals.Length);
net.Flush();
}
}
catch
{
}
}
yanglg
2007-08-10
打赏
举报
回复
这一步怎么做啊?
救救我吧
greenery
2007-08-09
打赏
举报
回复
查一下Socket的资料。。。
linux修改默认python版本_Linux 升级 Python 并修改默认版本
在Linux 6.x 下默认的Python 版本是2.6.6. 根据上篇博客的说明,Python 2.6 将不再被核心团队支持。 所以将Python 升级到最新的2.7.14.Python 更改 PyPI 源http://www.cndba.cn/dave/article/2261https://www.cndba.cn/dave/article/22621) 从官网下载源码包2) 安装新版Pyt...
Linux升级Python 版本
第一步,下载python 最新的安装包(本例以2.7为例,个人暂不推荐python3 ) 到python官方一看,已经没有tar.gz的安装包了。只有tar.xz ,据说是比gz压缩率高一些的。 wget --no-check-certificate https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.xz yum insta
自动化脚本- 安装更换Python3.5
本脚本所有信息: 1:判断是不是root用户,是则继续不是则退出脚本输出信息2:定义自己的版本3:根据用户输入的版本号,来下载对应的版本包4:使用系统命令wget来下载,注意wet后面有一个空格5:os.system执行系统命令6:如果无法下载,大部分是因为网络
问题
,提示用户检查网络7:判断相应的用户来根据这个版本进行相应的解压8:如果解压失败的话,提示信息,退出程序9:如果编译失败退出返回信息...
Linux之python版本升级
升级glibc的时候根据INSTALL升级说明,要求python版本3.4以上。所以需要对python版本进行升级。centos7默认安装的python版本为2.7.5,python通过yum安装也只能安装2.7.5版本,python3可以通过yum安装3.6.8版本。如果需要更高的版本,只能通过源码编译安装。此博文介绍源码安装方式升级python和python3版本,源码编译安装要求操作系统已经安装了gcc。环境说明如下:...
Linux CentOS6.8 Python2.6 升级到Python2.7
背景: 我最近在学习Python,自己电脑配置较低,不想搞虚拟机了。于是在某云平台上申请了台云服务器。操作系统为:CentOS6.8,但发现系统默认带的Python版本为Python 2.6。版本是有点老了,我想把服务器上的Python版本升级到Python2.7,于是乎在网上搜了相关资料,准备升级到Python2.7.13版本(可以官网去下载:https://www.python.org/do...
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章