社区
Java SE
帖子详情
如何用socket与多线程实现在服务器端并发处理多客户端的请求?
hxhazx
2013-11-14 06:11:25
本人对socket不是很熟,
现在的需求是:
客户端能够登录到服务器上去对数据进行增删改查及退出一系列操作;但多个客户端可以同进登录,如果它们并发操作,那么服务器端是不是应该用多线程,给每个客户分一个独立的线程,但不知道在服务器端应该怎么写代码实现各个线程之间的独立!
一个客户端一旦连上,只要它不退出,这个线程不应该结束!
...全文
981
2
打赏
收藏
如何用socket与多线程实现在服务器端并发处理多客户端的请求?
本人对socket不是很熟, 现在的需求是: 客户端能够登录到服务器上去对数据进行增删改查及退出一系列操作;但多个客户端可以同进登录,如果它们并发操作,那么服务器端是不是应该用多线程,给每个客户分一个独立的线程,但不知道在服务器端应该怎么写代码实现各个线程之间的独立! 一个客户端一旦连上,只要它不退出,这个线程不应该结束!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hxhazx
2013-11-19
打赏
举报
回复
我现在自己整出了一个解决的办法,比较粗陋,莫见笑: 主线程中用一个ServerSocket的accept()方法来对所有客户端发来的请求进行全部接收; 从接收得到的socket中读取客户ip地址信息,以此ip为依据判断之前该客户端是否已建立了与服务器的连接,如果之前还未建立,那么就在服务器端重开一个线程,并将此socket传入,线程中拿到这个socket之后在其内部进行相应的处理,该线程随后会被存入一个Map中,其以ip地址为键,线程对象为值; 下次如果此客户端再发来请求,就可以在此Map中直接找到处理它的线程来对其进行处理; 线程中在需要等待客户端信息才能继续的地方,暂时用wait来令其等待,当主线程又接到此客户端的一个请求信息之后,再将该线程唤醒(Notify); 当客户端断开连接时(服务器端会收到一个标记量),服务器端的线程运行结束,并将Map中的对应项移除。
develop_design_level
2013-11-14
打赏
举报
回复
给你个地址,去看看吧。
http://kanpiaoxue.iteye.com/admin/blogs/1956800
可以在这个基础上面修改一下。 推荐你使用netty来写你的服务器端,它的性能非常优秀。 然后你还是看看《Java网络编程》这本书吧。
什么是网络编程
这一张主要在于理解 然后知道怎么用! 最重要的是思路 知道怎么写的
C++
SOCKET
多线程
网络编程
实现
多个
客户端
与服务器通信
C++
SOCKET
多线程
网络编程
实现
多个
客户端
与服务器通信计算简单数学算式设计思路代码展示 设计思路 程序设计分
服务器端
与
客户端
,其中,
服务器端
采用
多线程
,对于每个
客户端
连接时,均新建一个服务线程,之后判断
客户端
发来的信息是不是一个数学算式,是的话就返回计算结果给
客户端
。
客户端
同样采用
多线程
,主线程是获取用户的输入,将输入发给
服务器端
。另一个线程则是监听服务器返回的结果,如果有返回就把结果打印到...
Java
Socket
(六) 使用
多线程
实现
多
客户端
的通信
问题一个服务端可以跟多个
客户端
通讯基本步骤1.
服务器端
创建Server
Socket
方法,循环调用accept()方法等待
客户端
连接2.
客户端
创建
socket
和服务的
请求
连接3.服务端接受
客户端
的
请求
,建立专线连接4.建立连接的两个
socket
在一个单独的线程上对话5.
服务器端
继续等待新的连接创建一个服务器相关的线程类:package com.test;/** * Created by SuPhoe
C++
SOCKET
多线程
编程
实现
聊天小程序
SOCKET
多线程
编程
实现
聊天小程序TCP/IP协议与
SOCKET
什么是网络协议?TCP/IP体系结构与
SOCKET
SOCKET
编程Server端Client端总结 TCP/IP协议与
SOCKET
什么是网络协议? 计算机网络中,各个实体之间的数据交换必须遵守事先约定好的规则,这些规则就称为协议。 网络协议的组成要素有: 1.语法,数据与控制信息的结构或格式 2.语义:需要发出何种控制信息,完成哪些动作以及做出何种响应 3.时序:事件
实现
顺序的详细说明 在一个网络协议中,通信的实体的相同层次的结构必须执行相
Socket
通信-accept+
多线程
偶然的机会,重新写了一下windows下
socket
通信的比较基础的代码,太久没有接触
socket
以及
多线程
,查了不少博客,但是发现大部分内容比较陈旧,所以决定写一篇博客,顺便自己总结一下。 内容简介 网络通信基本函数介绍 C++11
多线程
简介
socket
通信tcp版本
socket
通信udp版本 网络通信基本函数介绍tcp连接模式下
客户端
流程1.创建
socket
(套接字)
socket
(
Java SE
62,621
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章