客户端服务端的通信结构

最近要自己写一个服务端。跟c#的客户端做交互。要实现的功能有两个,第一个是登陆服务端,做一些登陆、注册的功能。第二个是功能服务端,主要功能是接收客户端的请求后从数据库读出相应数据发给客户端。
小弟研究了一下,现在有一个初步的构想,请各位批判一番。
服务端方面:一个socket用来接收客户端的socket请求,根据约定的数据头来确定是登陆服务器的功能还是功能服务器的功能。然后再将这个请求发送给登录服务器或者功能服务器。准备用boost库,同步多线程的方法来写。
客户端方面:我是这么想的,我要写个DLL给写C#的人来用。他通过我的接口可以跟数据库进行交互,发送数据给服务端可以手动发送write来实现,服务端可以用个死循环来不断接收。但是客户端从服务端接受返回来的数据小弟就有些想不明白了。总不能在客户端也写个死循环来不断接收服务端返回来的数据吧?
小弟也尝试过用回调的方法,可是还是不甚了解。身边又没有可以请教的人。哈哈,还请大神不吝赐教一二。

0

1个回答

你不会用多线程吗 ???

0
waterhexuan
编天码地
2 年多之前 回复
waterhexuan
编天码地 你是学服务端 那你管 客户端怎么接受 干嘛
2 年多之前 回复
kikyou_ghl
kikyou_ghl 你的意思是在客户端也是用死循环来接收服务端的消息然后用多线程来处理?主要现在客户端不是我写,我要写接口给他用。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
客户端与服务端架构
常见架构:C/S架构:Client/Server(客户端/服务器)结构 需要服务器端部署;用户单独安装客户端,客户端软件升级,服务器端要为每个用户服务!!!可以单机不连网使用。 B/S架构:Browser/Server(浏览器/服务器)结构 需要服务器端部署;浏览器访问;服务器端负责全部逻辑;升级方便;必须连网使用。 CS/BS本质相同,都是客户端与服务器通信,只是表现为不同的形式,
Socket通信,实现单客户端和服务器交互的C/S结构
首先创建客户端程序: package FirstPackages; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class
Redis源码解析:14Redis服务器与客户端间的交互
Redis服务器是典型的一对多服务器程序,通过使用由IO多路复用技术实现的文件事件处理器,Redis服务器使用单线程单进程的方式来处理命令请求,并与多个客户端进行网络通信。            Redis客户端与服务器之间通过TCP协议进行通信。TCP协议是一种流式协议,数据以字节流的形式进行传递,没有固有的"报文"或"报文边界"的概念,如果需要设置边界,需要应用层自行处理。      
实现客户端与服务端的HTTP通讯
参考博客地址:http://www.cnblogs.com/menlsh/archive/2013/05/22/3091983.html    实习(打杂)期间收到的第一个和代码相关的任务是负责客户端与服务端之间的数据通讯任务。在询问了前辈以后,我得知Socket通讯往往是不稳定的,因此最终从学习HTTP通讯开始着手了。在最终实现具体的项目要求之前,我首先决定尝试着写了一个用户登录的样例(包括客户...
客户端与服务端通信(client&server)的管道实现
管道特点: 只能用于具有共同祖先的进程之间进行通信 管道提供流式服务 一般而言进程退出,管道释放 一般而言内核会对管道操作进行同步与互斥 管道是半双工,数据只能向一个方向流动,双方通信需建立两个管道 服务端serverpipe.c #include<stdio.h> #include<sys/types.h> #include...
用socke实现客户端和服务端的通信 (java)
首先我们要懂几个关键词 socket,InputStream,OutputStream,BufferReader 举个例子,假如两个人A,B要通信,他们使用一种信件交流的方法,并且规定好了信箱,一方把信件放在信箱里面,另一方就可以去看 socket简单来说就是连接两个程序的程序,就是信箱 在A程序中 InputStream 读入流,相当于是A写的信 OutputSream是A收到的信 ...
进程间通信系列 之 管道(客户端和服务端通信)
场景描述:     多个客户端同时和服务端进行通信,客户端发送buf至服务端,服务端进程处理。将buf中的英文字母全部转为大写,之后返回给客户端。 实现原理:     服务端以阻塞的方式打开一个命名管道(O_RDONLY),客户端以阻塞的方式打开这个管道(O_WRONLY)并写入数据。 因为是阻塞方式,有数据进行写入,服务端才开始处理。至于是如何同步,是在open的时候处理的。服务端处理之
移动客户端与服务器通信方式一
*今天测试了一下Java 给iOS客户端推送消息,包括静默推送 ,还有别名推送,其实是和token绑定在一块的, 玩转推送后有很多问题都迎刃而解了,但是一波未平一波又起啊!又会有新的问题出现,先看看代码吧* iOS// 说明 这是在用户同意推送的前提上进行的,如果用户没有同意,那下面的都是扯淡了, - (BOOL)application:(UIApplication *)application
Java服务器与客户端通信框架初探
这篇文章中,我们讲述一下用Java实现网络通信的的基本流程,这里讲述的是不基于任何框架的原生语言自带的写法。Java服务器端写法:程序入口代码如下:public static void main(String[] args) { try { // ① 创建一个线程 等其他客户端的连接 final ServerSocket server = new ServerSocket(8090);
客户端到服务器端通信过程及原理
学习任何东西,我们只要搞清楚其原理,就会触类旁通。现在结和我所学,我想总结一下客户端到服务器端的通信过程。只有明白了原理,我们才会明白当我们程序开发过程中错误的问题会出现在那,才会更好的解决问题。     我们首先要了解一个概念性的词汇:Socket     socket的英文原义是“孔”或“插座”。作为进程通信机制,取后一种意思。通常也称作“套接字”,用于描述IP地址和端口,是一个通
JavaScript客户端与服务器端的五种通信方式
在Web项目中,要实现客户端与服务端的交互,可通过cookie、隐藏框架、HTTP请求、LiveConnect请求和智能HTTP请求等方式实现, 一.cookie  cookie是第一个JavaScript可以利用的客户端-服务端之间的交互手段。浏览器向服务器发送请求时,为这个服务器存储的cookie会与其他信息一起发送到服务器。这使得JavaScript可以在客户端设置一个cookie,之后
关于客户端与服务端通信的一点感悟
一、引言一直以来在公司从事于桌面客户端的开发,从事已有一年有余,却直到今天才领悟了客户端是如何与服务端进行通信的。这一方面大大得益于“Web Scraping with Python”作者对于 API 相关内容的描述,这不是我第一次接触 API,却是我第一次系统的了解 API。那么这篇博客也是我的一点感悟,围绕以下几个问题开展:1. 客户端如何与服务端一直保持联系?2. 客户端如何与数据库进行通信?
C++ Socket编程 实现服务端与客户端的通讯(Windows)
建议浏览:C++ Socket编程步骤  以及 c++中Socket编程代码样例:C++ socket编程 实现服务端与客户端的通讯简单补充:进行WINSOCK编程时,需要引入两个库文件:WINSOCK.H(这个是WINSOCK API的头文件,WIN2K以上支持WINSOCK2,所以可以用WINSOCK2.H)Ws2_32.lib(WINSOCK API连接库文件)使用方式如下:      
TCP与串口间的通信方式。Socket通信
Socket通信的同步、异步方法。串口到客户端的通信、客户端到服务端的通信的多种方法。
JavaWeb之客户端/服务器通信原理
相信已经有很多人十分了解客户端与服务器之间的通信基本过程了,这里就容小编把近段时间关于这方面的学习做一个归纳。还是那句话,我不是资深专业的技术党,一个俗人就用通俗易懂的方法来诠释我的理解,这里主要讲的是基于http协议的通信机制,所以这里的客户端指的是浏览器,希望给大家新的体验。 一、总结      一上来就给总结,我相信各位也是醉了,这里我想说的是文章采用总-分-总的组织方式来阐述,先告诉大
java之服务器端和客户端之间简单的通信
java之服务器端和客户端之间简单的通信 最近因为作业的需要,老师让用java语言写一个关于服务器端和客户端之间简单的通信,所以就有了这一篇文章 准备工作: 博主是在eclipse工具下进行操作的。 程序代码如下所示 1:客户端 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.Act...
PHP用SOCKET实现客户端与服务器端通信
PHP用SOCKET实现客户端与服务器端通信
AIDL 客户端与服务端的双向通信
时隔一年半了,终于写下了这个续篇,我发现我的很多博客有头无尾,都是有前面一点点,后面就没写去了,也正在想办法都补上 初涉IPC,了解AIDL的工作原理及使用方法 今天聊聊的是客户端和服务端的相互通信,何谓双向通信,事实上,我们在上一篇的博客中,只是讲解了客户端请求服务端的方法,然后服务端返回一个值给我们 这样,其实是最简单的用法,但是常常在我们的开发过程中,如果调用了某些方法,比如网络请求,那么就
基于Netty的客户端与服务器之间的通信实例
需要的jar包:https://github.com/Jasper2s/Study_Imooc/tree/master/JavaPractice/lib 1.全局配置类:存储每一个客户端接入进来的配置 package com.java.netty; /** * 全局配置类 * @author qiuzhiwen * */ import io.netty.channel.group....
Linux下Socket 多进程多客户端通信
Linux下Socket 多进程多客户端通信,如果系统消息队列过多可以执行x.sh清空消息队列
diy数据库(八)--客户端和服务器之间的通信协议
一、什么是通信协议 通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。 二、diydb的协议格式 1、协议格式是通信协议中最重要的部分之一,diydb采用的是自定义格式和BSON格式的混合格式 2、协议格式总览 协议主要分三个大段 (1)协议头:包括消息长度(用于读取一个完整的协议包)和消息类型 (2)协议主体:不同的消息类型对应不同的协议主体,协议主体主
android-------- socket 实现客户端与服务器端通信
前面介绍了Socket的简介和原理,今天简单的来实现一下客服端与服务器通信的功能 客服端建立连接 try { socket = new Socket("192.168.1.100", 9999); Log.i("Android", "与服务器建立连接:" + socket); } catch (UnknownHostException e) { ...
Java基于TCP实现服务器和多客户端之间的通信
Server.java package com.zh.socket; import java.io.IOException; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; /*  * 基于TCP协议的socket通信,实现用户登录  * 服务器端
socket网络编程实现客户端和服务端通信
之前的博客分享过远程备份oracle数据库的代码,但是因为情况变动,代码部署的服务器和数据库服务器不是一个,并且代码部署所在服务器没有oracle的客户端,因此之前的实现策略只能舍弃。尝试一个新的方法:socket编程,简单介绍下。
Mina2框架--服务端与客户端通信
mina服务管理器package com.zxtx.apps.traffic.server;import org.apache.commons.lang.StringUtils; import org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.filter.executor.ExecutorFilter;
客户端与服务端Socket通信原理详解
socket客户端与服务端通信原理详解
TCP客户端与服务端之间的通信
客户端package cn.itcast.net.p4.tcp; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class ClientDemo2 { /** * * @param args *...
socket编程实例,客户端和服务器端一对一信息传输
在vc下使用socket实现的一个程序,完成客户端和服务器端一对一信息传输。
基于TCP通信的简单服务端和客户端程序
背景 因为最近在研究网络相关的东西,因此经常要写程序做实验来验证。主要是TCP通信,因此就写了个简单的基于TCP通信的小程序,方便以后要使用的时候能直接复用,省的还要各种谷歌、百度。 功能介绍 写的很简单,实现的就是客户端读取键盘输入,发送给服务端,服务端打印出该输入。 因为只研究TCP通信原理,就没有再做其他的多线程并发之类的功能。 代码 1、先看服务端代码 /*服务端
TCP协议:服务器和客户端的通信绘图
 还是先上图,现在的年轻人都不喜欢看文字,喜欢浏览图片,那就先把今天刚刚做完的一个东西先发出来,今天做完的“通信弹球”对于现在的我来说“现丑了”                                                                图(a)                                                           图...
app客户端、服务端通信
app客户端、服务端通信 1. apache:web服务器 2. MySQL:数据库服务器和app之间通过接口来访问,主要有2点作用。 1. app客户端太大,而且不利于复用。
如果没有接口,app客户端是可以直接请求数据的,这个是可以做到,但是相当于接口的全部工作在app端写了,这样会造成app端比较大,手机的存储空间也是有限的。
再比如,访问数据库的代码,Android要写,iOS也要写
C#实现服务器和客户端之间通信
TCP  套接字编程 服务器端实现步骤: 1、使用Socket类创建套接字。 2、利用Bind方法将创建的套接字绑定到指定的地址结构。 3、利用Listen方法设置套接字为监听模式,使得服务器进入被动打开状态。 4、接受客户端的连接请求。 5、接收、应答客户端的数据请求。 6、终止连接。 客户端实现步骤: 1、使用Socket类创建套接字。 2、调用Connect方法建立一
Qt实现Winsock网络编程—Tcp服务端和客户端通信(多线程)示例程序demo
Qt实现Winsock网络编程—Tcp服务端和客户端通信(多线程)示例程序demo https://blog.csdn.net/qq_29542611/article/details/83778389
客户端到服务器端的通信过程及原理(很清晰,保证看后顿悟)
学习任何东西,我们只要搞清楚其原理,就会触类旁通。现在结和我所学,我想总结一下客户端到服务器端的通信过程。只有明白了原理,我们才会明白当我们程序开发过程中错误的问题会出现在那,才会更好的解决问题。     我们首先要了解一个概念性的词汇:Socket     socket的英文原义是“孔”或“插座”。作为进程通信机制,取后一种意思。通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句
oracle客户端与服务端的连接
oracle客户端与服务端的连接,参考如下: http://blog.csdn.net/wyzxg/archive/2010/08/16/5815335.aspx oracle服务进程如何处理用户进程的请求,参考如下: http://blog.csdn.net/wyzxg/archive/2010/09/01/5855930.aspx     要想登录数据库并在数据库中真正做事情,
WinSocket实现的服务端与客户端的通信
服务端 - 通过对敏感词“蓝鲸”的判断,服务端主动关闭与客户端的连接,测试服务端发起的closesocket操作 - 服务端的accept、recv都是阻塞的#include <stdio.h> #include <stdlib.h> #include <iostream> #include <WinSock2.h> #pragma comment(lib, "ws2_32.lib")us
Java实现Http客户端服务端间通信
访问Http Post请求的代码示例,项目为spring boot框架,省略不重要的部分。1、Post服务端代码:样例1: @RequestMapping(value =&quot;/testDemo1&quot;,method = RequestMethod.POST,produces={&quot;application/xml&quot;}) public @ResponseBody String testDemo1...
客户端与服务器端通信方式总结
HTTP:客户端发出请求、服务器端响应的方式.单工 基于客户端 comet :基于 HTTP 长连接的“服务器推”技术:基于 AJAX 的长轮询方式;基于 iframe 及 htmlfile 的流方式 websocket
基于flex4+java的聊天通信程序
一个基于flex4客户端+java服务端的聊天通信程序
java.net包socket通信
java.net包socket通信,基础客户端 和 服务端的通信传输实现
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 高端的教育nlp 区块链结构