TCP/IP客户端与服务器之间的通信问题。。急求解决方法!!!!!

在做一个项目,问题,客户端和服务器端可以都开两个线程。即客户端打开线程1和线程2,服务器端打开线程1和线程2。在通信过程中服务器线程1与客户端线程1通信,服务器线程2与客户端线程2通信,这样子怎么实现呢???急求

0

2个回答

你先搞懂socket怎么用,然后网上有很多socket的例子,有的很不错,自己研究一下

0

socket我已经了解过了,实现了多个客户端同时与服务器之间的通信,现在想做客户端开两个线程一个发送检测结果,一个接收服务器的任务。同样服务器端接收检测结果和发送任务到客户端。这根socket有关吗,不是该是线程的问题吗

0
u012986597
laomado 回复StressedOut: 谢谢您的热心回答,服务器可以开两个端口的话,那么客户端可以同时与这两个端口建立连接吗?每个线程与一个端口连接?
3 年多之前 回复
StressedOut
StressedOut 回复laomado: 记mark查找任务,返回给客户端。
3 年多之前 回复
StressedOut
StressedOut 回复laomado: 记mark查找任务,返回给客户端。
3 年多之前 回复
StressedOut
StressedOut 回复laomado: 个人觉得。socket是基于tcp/ip协议的,服务器和客户端的区别在于服务器端要注册端口而且IP固定,客户端无需端口IP也不固定,一个客户端与服务器端的交互,一般是由客户端发起的,不能由服务器端发起。所以要实现你所说的东西我的方案是服务器开两个端口,客户端一个进程不断请求任务,一个发送检测结果和唯一标记mark。服务器记录标记mark和检测结果生成任务队表(表中记录标记mark和任务)。当客户端请求任务时,依据标记mark查找任务,返回给客户端。
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
客户端与服务器之间的通信问题
假设现在有一个GridView控件己实现分页功能。rn当我点击“下一页”按钮时,如果使用传统的传统的编程模型,客户端向服务器发送的是什么内容?rn
TCP实现客户端(Android)和服务器之间通信
Android版的通信和JavaSE版通信 二者都是使用基于TCP协议实现的一组API,都是使用ServerSocket服务器与Socket通道实现的服务器和客户端之间的对话。因此从原理上二者是完全相同的。在Android APP的开发上,一般需要通过Java-ADT写一个客户端安装到安卓手机上,再通过JavaSE写一个服务器。客户端通过服务器的ip地址和端口号连接服务器,服务器再作为中间环节连接...
实现客户端和服务器之间的通信(TCP协议、多线程)
1、myhead.h #ifndef _MYHEAD_H_ #define _MYHEAD_H_ #include #include #include #include #include #include #include #include #define MYPORT 6666 #define MYADDR "192.168.1.100" #endif 2、tcp_s
客户端与服务器之间的通信
今天我们来浅析一下通信群聊的实现,就像平常我们玩的QQ群聊功能一样,有多个账号发消息能互相接收到,其实这个数据传输的过程是在客户端和服务器间实现的。所以我们要先创建一个服务器端口。 public class Chatserver { public static void main(String[] agrs) throws IOException { Chatserver cs = ne...
socket客户端与服务器之间通信
用C++代码编写了客户端与服务器之间的实时通信(IM)。
客户端和服务器之间的通信——HELP!
建立一个客户端与服务器之间的通信程序,可以在客户端通知服务器备份数据库,然后在把得到的文件放到共享文件里,从而在客户大可以得到这个文件!恢复也一样,从客户端通知数据库恢复文件所在的具体位置,然后进行恢复!不知这样可不可以做,该怎么做!
WCF客户端与服务器之间通信
WCF实现客户端和服务器之间的通信。源代码.希望对你有帮助。
tcp/ip服务器客户端通信
基于winsock网络编程开发的一个服务器客户端程序,vc++实现。
TCP IP 服务端 客户端通信
TCPIP 服务端 客户端通信,可以实现发送,接收,,,,,,,,,,,,,,,,,,,,,,,。
TCP/IP 通信客户端端
TCP/IP 通信客户端端TCP/IP 通信客户端端TCP/IP 通信客户端端TCP/IP 通信客户端端
QT之TCP/IP通信---客户端
继续上一篇的... 写在前面:客户端中几个重要的信号与方法 //连接服务器,port指的是服务器监听的端口 tcpSocket->connectToHost(QHostAddress(ip), port); //与服务器连接成功时触发该信号 &QTcpSocket::connected //服务器发来消息时触发该信号 &QTcpSocket::readyRead ...
TCP/IP通信客户端与服务端通信代码
在VS2015上可以正确运行,能实现客户端与服务器的通信连接以及数据收发,为局域网的数据交互提供了可靠的方法。
(TCP模式)客户端与服务器之间的文件传输
1 .先看需求: 上传文件 将 客户端的文件上传到 服务器 2 . 步骤: 2-1.创建socket输出流,为了方便往socket写数据: os = socket.getOutputStream(); 2-2 . 读取文件读到数组中(fileinputstream) 将数组中的数据通过os写入socket 3 . 3-1.服务器端,先接收一个
基于UDP的客户端与服务器之间的通信
加载套接字库 实现客户端与服务器的正常通信 实现上传。下载等功能
Android手机客户端与服务器之间通信socket
Android手机客户端与服务器之间通信socket
TCP/ IP 客户端问题
各位,我现在在做一个客户端程序,用于接收从服务器发送过来的数据并进行解析保存等操作。。但经常会出现接收不到的问题,先把主要代码贴下来求指导rn[code=csharp]rnclass ClientCommunicationrn public static List tempAllDataBytes = new List();rn //一轮接收完后共接收到的所有待处理数据rn private Socket muClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);rn private byte[] muReceiveBytes = new byte[2048];rn private IPAddress muIPAddress;rn private IPEndPoint muIPEndPoint;rn public static bool isConnected = false;rnrn [color=#FF0000]public event EventHandler GetData;/// 接收到数据事件[/color]rnrn public ClientCommunication(string ipAddress, int iport)rn rn tryrn rn muIPAddress = IPAddress.Parse(ipAddress);rn muIPEndPoint = new IPEndPoint(muIPAddress, iport);rn rn catch (Exception e)rn 略 rn rn public void RaiseGetData()rn rn if (GetData != null)rn rn [color=#FF0000]GetData[/color](this, new EventArgs());rn rn rn public bool ConnectServer()rn rn tryrn rn muClientSocket.Connect(muIPEndPoint);rn return true;rn rn catchrn rn return false;rn rn rn public void ShutDownConnect()rn rn if (muClientSocket.Connected)rn rn muClientSocket.Close();rn rn rn public bool SendMessage(byte[] osMessage)rn 省略 rn public void ReceiveBegin()/// 开始接收消息rn rn muClientSocket.BeginReceive(muReceiveBytes, 0, muReceiveBytes.Length, SocketFlags.None, new AsyncCallback([color=#FF00FF]ReceiveMessageCallBack[/color]), muClientSocket);rn rn private void [color=#FF00FF]ReceiveMessageCallBack[/color](IAsyncResult ar)rn rn Socket tvSocket = ar.AsyncState as Socket;rn string receiveString = null;//存放"CloseSocket"字符串rn if (tvSocket != null)rn rn tryrn rn int ReceiveCount = tvSocket.EndReceive(ar);rn byte[] buffer = new byte[ReceiveCount]; rn Array.Copy(muReceiveBytes, 0, buffer, 0, ReceiveCount);rn receiveString = Encoding.UTF8.GetString(muReceiveBytes,0,ReceiveCount);rn if (receiveString == "CloseSocket")rn rn Array.Clear(buffer, 0, buffer.Length);rn Array.Clear(muReceiveBytes, 0, muReceiveBytes.Length);rn rn elsern rn tempAllDataBytes.AddRange(buffer);rnrn Array.Clear(buffer, 0, buffer.Length);rn Array.Clear(muReceiveBytes, 0, muReceiveBytes.Length);rn [color=#FF0000]RaiseGetData();[/color]rn tempAllDataBytes.Clear();rn rn rn rn tvSocket.BeginReceive(muReceiveBytes, 0, muReceiveBytes.Length, SocketFlags.None, new AsyncCallback([color=#FF00FF]ReceiveMessageCallBack[/color]), tvSocket);rn rn catchrn rn //无法接收消息很大可能是网络中断.rn //mucSocket.Remove(tcSocket);rn tvSocket.Close();rn return;rn rn rn rn [/code]rn以上是接收到数据,然后通过rnmuClientCommunication.[color=#FF0000]GetData[/color] += new EventHandler(muClientCommunication_GetData);转到muClientCommunication_GetData()进行相应的数据解析,保存和显示。。但是收到一些数据之后,该客户端收不到数据了,我检查过服务器,服务器确实成功的发送了。。
TCP/IP CSocket客户端与服务器端通信程序
c++语言制作的TCP/IP CSocket客户端与服务器端通信程序
java客户端与服务端通信Tcp/Ip
java通信
TCP IP通信编程实现(多客户端)
TCP IP通信编程实现,可以实现连接多客户端,有兴趣的可以看看
客户端服务器端TCP/IP通信控件(源代码)
3.1 控件基本方法(method) 3.1.1 S_InitListen 函数原型 :SHORT S_InitListen(SHORT m_Port) 功能 : 建立服务器端侦听端口 参数 : m_Port 服务器侦听端口号 返回值: :0:成功 1:失败 3.1.2 S_OnSendMsg 函数原型 :SHORT S_OnSendMsg(LPCTSTR m_ip, LPCTSTR m_Msg); 功能 : 单条消息发送 参数 : m_ip 接收端Ip地址 m_Msg 消息信息 返回值: :0 发送成功 1 发送失败 3.1.3 S_OnPushMsg 函数原型 :SHORT S_OnPushMsg(LPCTSTR m_Msg); 功能 : 群发消息 参数 : m_Msg 消息信息 返回值: :0 成功 1:失败 3.1.4 C_OnConnect 函数原型 :SHORT C_OnConnect(LPCTSTR m_ip, SHORT m_port); 功能 : 客户端连接服务器 参数 : m_ip 服务器端ip地址 参数 : m_port 端口号 返回值: :0 成功 1失败 3.1.5 C_OnSendMsg 函数原型 :SHORT C_OnSendMsg(LPCTSTR m_Msg); 功能 : 发送消息 参数 : m_Msg 消息信息 返回值: :0 成功 1失败 3.2 控件事件(event) 3.2.1 FireReceiveSocketMsg 原型 :void FireReceivedSocketMsg(SHORT m_Event, LPCTSTR m_Msg) 功能 :客户端消息 参数 : m_Event 事件类型 1:客户端消息事件 2:客户端通讯错误事件 参数 : m_Msg 事件信息 3.2.2 FireServerReceiveSocketMsg 原型 :void FireServerReceivedSocketMsgWinsocketocxctrl(SHORT m_Event, LPCTSTR m_Msg , LPCTSTR m_Address) 功能 :服务器端消息 参数 : m_Event 事件类型 1:服务器端消息事件 2: 服务器通讯错误事件 3:客户端连接到服务器通知事件(返回客户端ip) 4:客户端断开服务器通知事件(返回客户端ip) 参数 : m_Msg 事件信息 参数 : m_ Address 客户端ip地址 .4 备注 通讯日志存储在C:\ _SOCKET.LOG
Python TCP\IP通信服务器与客户端
Python核心编程,中的TCP源码,参考书上写的,有做部分修改,可用于聊天室功能
客户端与服务器之间分别通过TCP和UDP进行通信
一:TCP/IP协议的应用一般采用客户/服务器模式,因此在实际应用中,必须有客户和服务器两个进程,并且首先启动服务器,其系统调用时序图如下。 面向连接的协议(如TCP)的套接字系统调用如图2.1所示: 注意:服务器必须首先启动,直到它执行完accept()调用,进入等待状态后,方能接收客户请求。假如客户在此前启动,则connect()将返回出错代码,连接不成功。 这里直接上C++代码:
vc++ TCP/IP通信的问题?
请问:rnrn1.在一个局域网内,有2台下位机硬件设备[color=#FF0000]A[/color]与[color=#FF0000]B[/color],每台有对应的一个IP地址。当上位机软件与设备A建立通信联接后,正常通信。rn这时候,如果去联接设备B的话(发起联接请求),却不成功。为什么?如果要实现,该怎么做。请指点下。谢谢。rnrnrn
VC++ TCP/IP通信的问题?
请问:rn 问题1:写一个与下位机(通过TCP/IP)通信的软件,当上位机软件向下位机设备发送连接请求的时候,该句代码返回的值一直为0,提示连接失败。(正常连接的话返回值为1)rn 代码为:rn m_clientsock.connect("192.168.1.101",2000);rnrnrn是哪里的问题?请提示。谢谢!rnrn注:[color=#FF0000]事先是通过CSocket派生了一个子类。然后是再创建套接字 m_clientsock.create();[/color]
VC++ TCP/IP通信的问题
请问:rn写一个与下位机(通过TCP/IP)通信的软件,当上位机软件向下位机设备发送数据包后,没有立即去执行接收数据的代码段.(下位机发送过来的的应答包),如下:rnrn我从CSocket类里派生了一个类MyClientSock.在该类里重写了OnReceive虚函数。在程序执行的过程中碰到一个问题。rnrn m_clientsock.send("aaaaaaa",7);给下位机发完包后,没有立即去调用的OnReceive()重写的虚函数.程序一直往下走...等到退出该函数后,才调用的OnReceive()重写的虚函数。rnrn为什么?如果我想要做到这点,如何做。rnrn另外:我在m_clientsock.send("aaaaaaa",7);该语句后加上MessageBox("提示");碰到该语句程序就会立即去调用的OnReceive()重写的虚函数.rnrn
TCP/IP 通信问题 ACE
rn客户端rn[code=c]int ACE_TMAIN(int,ACE_TCHAR *[])rnrn rnrn ACE_INET_Addr srvr(50000,"127.0.0.1");rn std::cout<>i;rnrn if(-1==i)rn ACE_ERROR_RETURN((LM_ERROR,ACE_TEXT("%p\n"),ACE_TEXT("connect")),1);rn int bc;rn char buf[64];rn peer.send_n("uptime\n",7);rn bc=peer.recv(buf,sizeof(buf));rn std::cout<
请问TCP/IP通信的问题
请问在TCP/IP通信中,rn方案A:客户端每次数据传输,都采取这样的顺序:connect-> send、recv->closesocketrn服务器只有一台,客户端有上百台,同时进行数据传输,并且多次的进行这样的数据传输,就是说,每次传输都先connect,传输完后就closesocket。rn方案B:客户端只connect一次,然后就send、recv,等到关机(或者是不运行时)时才closesocket。rnrn那个方案对服务器性能影响更大呢?谢谢!
TCP/IP网络编程——TCP通信
hello_server.c#include &amp;lt;stdio.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; #include &amp;lt;string.h&amp;gt; #include &amp;lt;unistd.h&amp;gt; #include &amp;lt;arpa/inet.h&amp;gt; #include &amp;lt;sys/socket.h&amp;gt; void error_handling(cha...
服务器之间Web通信问题
A服务器代码如下rnrnrn //B服务器Dll文件rn rn rn rn rn rn !!--tel--!! rn !!--Check--!! rn !!--Box--!!rn rn rn rn rn !!--Session--!!rn rnrnrnB服务器把表格结果插入之间,B服务器DLL应如何写?尽量不牵扯A服务器页面设计
TCP通信,多客户端通信(客户端、服务端)
1、定义 客户端和服务器间的交流, 客户端发送信息,服务器接收到,并返回信息 长连接 2、使用步骤 客户端 创建Socket连接服务端(指定ip地址,端口号)通过ip地址找对应的服务器 调用Socket的getInputStream()和getOutputStream()方法获取和服务端相连的IO流 输入流可以读取服务端输出流写出的数据 输出流可以写出数据到服务端的输入流 服务端 创建...
服务器之间的通信。
多个服务器,谁可以具体结束一下,它们怎么利用消息队列,通信啊?rnrn
TCP通信客户端与服务端
实现绑定本机IP的客户端与服务器端,适合面对多网卡学习修改使用。
TCP 客户端与服务器端通信
TCP 客户端与服务器端通信 C++ 运行服务器之后,再运行客户端程序TCPClient,客户端连接到了服务器,双方套接字就可以通信了
TCP通信之客户端
本程序只有TCP客户端这块,程序读取配置文件ini中设置的IP地址和端口号。才有进程监听,是否有服务器端。如果有,自动连接。如果中途断了,会一直监听直至下次打开服务器端再次连接。——备注:新手请多多指教
TCP通信客户端程序代码
这是tcp通信的 客户端程序代码 是用MFC编写的,希望对大家有用哦
(客户端)python实现tcp通信
(客户端)python实现tcp通信
TCP/IP Sockect通信
常用的TCP/IP Socket编程技术,不是很难,很容易看懂
TCP/IP通信
使用C#winform窗体应用程序实现TCP/IP通信
tcp/ip通信资料
TCP/ip通信资料,你值得拥有
Delphi TCP/IP通信
用delphi6编写,利用serversocket和clientsocket进行通信的程序