java-使用socket通信服务端如何处理客户端请求

问题描述

使用socket通信服务端如何处理客户端请求

场景如下:
一个服务端,一个客户端通过socket连接服务端,假如客户端要请求服务端做一件事(如调用服务端A类的a方法),
因为socket传输的是字符串,所以我现在的做法是让客户端传一个标识符a到服务端,然后服务端
通过判断传过来的是a则调用A类的a方法,
如果我要执行A类的b方法,则传b过去再判断

我想问的是有没有更好的解决方案,或现成的框架可用

解决方案

如果你这样的需求,我觉得更适合HTTP。也许玩C++的更习惯于socket。之前做过一个IM的DEMO,一直用的socket,这样服务端需要一个管理器,去处理和分发处理。其实这样和HTTP没什么区别了,还更麻烦了,我正想要把推送和即时消息之外的转到HTTP请求。

解决方案二:

这个就是i一个命令解析处理的过程 自己定义规则处理i就可以了

解决方案三:

客户端发送的信息在服务端接收都是字符串,所以要调用不同的方法,就必须跟据客户端输入的字符串来判断怎么执行代码,规则可以自己定义。
在类中定义一个静态字符串private static String str="返回值";
str=new BufferedReader(new InputStreamReader(socket.getInputStream())).readLine();
if("a方法的名称".equals(str)){
执行a方法
}else if("b方法的名称".equals(str)){
执行b方法;
}......客户端输入的要是调用的方法名称就可以了。
这种方法逻辑上是可以得,你自己在具体用途具体分析吧。

解决方案四:

客户端解析用户命令,转换成你的服务端能够理解的字串,传给服务端按照相同的规则解析出来就好了吧。我也在尝试做C/S的东西,个人理解

解决方案五:

这个跟软件是C/S还是B/S没有关系的啊,就是Socket的应用,约定好通信规则即你传什么字符,我调用什么方法就可以了。
而且B/S本质也是Socket 的。这就是一个简单的java socket编程的应用,服务器端解析客户端的请求数据,利用java反射调用相应的方法,并将处理结果返回给客户端。一般的Socket入门的demo都能来改改就用的,就是修改Server收到数据的后的处理代码就可以了。

时间: 2024-08-04 13:50:02

java-使用socket通信服务端如何处理客户端请求的相关文章

socket通信-Socket通信 服务端还没有write完,客户端开始读取数据

问题描述 Socket通信 服务端还没有write完,客户端开始读取数据 Socket通信 服务端还没有write完,客户端开始读取数据,出现数据不完整的现象,如何保证客户端读取的数据完整性,切服务端发送一条客户端可以读取一条 解决方案 tcp连接等.

关于C# Socket通信服务端

问题描述 想请教一下:我是用C#Socket异步通信编程.现在想实现这样的功能:在服务端与客户端连接的情况下,客户端断开时,服务端能够在界面上显示提醒(类似:客户端192.168.1.100:6300已断开).不知该如何实现,求教. 解决方案 解决方案二:客户端可以在退出终端程序时向服务器发送一个"关闭"消息,而服务器端也可以每隔30秒向各个客户端发送一个"心跳"消息.解决方案三:引用楼主richardcrick的回复: 想请教一下:我是用C#Socket异步通信编

java socket 通信 服务端接收的文件大于客户端发出的文件 是什么鬼

问题描述 java socket 通信 服务端接收的文件大于客户端发出的文件 是什么鬼 //服务端package Socket; import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;

聊天室-关于java的聊天程序,分服务端和客户端,请java大神帮我调试一下,我检查没编写错误

问题描述 关于java的聊天程序,分服务端和客户端,请java大神帮我调试一下,我检查没编写错误 //服务端 package chatApp; import java.net.*; import java.io.*; import java.util.*; public class chatserverthree implements Runnable { public static final int PORT=1234; protected ServerSocket listen; stat

java-一个简单的Java服务端,客户端的demo中的问题。

问题描述 一个简单的Java服务端,客户端的demo中的问题. 首先说我的问题:我需要用java做一个服务器端,当客户端发过一条请求来以后,服务器端开始每隔1s对客户端发送一个字符串. 然后说我的思路: 这是服务端. public static void main(String[] args) { String temp; try { while (true) { ServerSocket ss = new ServerSocket(30000); // 每当接受到客户端socket的请求,服务

视频-服务端控制客户端Socket

问题描述 服务端控制客户端Socket 服务端如何通过Socket控制客户端在某个定点时刻播放视频,如果有代码的可以分享我吗?谢谢 解决方案 本人也是最近接触Socket,懂得不多,只能给你提供一个思路. 你可以在客户端添加一个线程,使用不同于原来的的Socket Port建立一个通讯, 客户端的那个线程不断接收服务端的回传信息, 根据回传的信息在这个线程中控制你想要的进度. 解决方案二: 首先要让客户端和服务器端游一个长连接,并且要有心跳包来保证accept,之后到时间服务器端给客户端发送一个

android开发-想用socket从服务端发送图片到客户端,但一直出错,求原因

问题描述 想用socket从服务端发送图片到客户端,但一直出错,求原因 开发-想用socket从服务端发送图片到客户端,但一直出错,求原因-socket客户端和服务端"> 如图所示,本人新人,求大神解答 解决方案 空指针从无,TestActivity的64行 解决方案二: 空指针 socket 不能执行关闭操作(其实是不能操作任何操作) 最好在操作前增加判断:if(null != socket) {} 在 {} 中做处理. 解决方案三: 应该是创建socket失败了. socket不能放在

socket服务端向客户端发送字节数组消息时客户端无法接收问题

问题描述 socket服务端向客户端发送字节数组消息时客户端无法接收问题

用socket编写的客户端和服务端,客户端可以通过服务端的域名发送消息吗

问题描述 用socket编写的客户端和服务端,客户端可以通过服务端的域名发送消息吗 本来要做GPRS通信模块发送命令到服务器端,服务器端根据命令做出反应,如果命令有需要还要返回数据到Gprs模块.网上搜怎么做,都是说用sokect做,我需要的是GPRS模块通过服务器的域名发送消息到服务端. 解决方案 如果是socket的话,gethostbyname是可以将域名转换成ip地址的 解决方案二: Linux socket客户端和服务端socket通讯 客户端和服务端socket的客户端和服务端的编程