今天学习了一下系统间通信的方式之一,socket。Socket ServerSocket 是类似于管道通信的,一个Socket对应一个ServerSocket,为了解决多个客户端Socket 与ServrSocket通信,需要使用多线程。我是一名初学者,大家勿喷。代码如下:
服务端代码:
public class MultiUser extends Thread {
private Socket client;
public MultiUser(Socket c){
this.client = c;
}
public void run(){
try {
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out = new PrintWriter(client.getOutputStream());
while(true){
String str = in.readLine();
System.out.println("客户端输入:"+str);
out.println("服务端已经收到");
out.flush();
if(str.equals("end")){
break;
}
}
client.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) throws IOException {
ServerSocket ss = new ServerSocket(3333);
while(true){
MultiUser mu = new MultiUser(ss.accept());
mu.start();
}
}
}
客户端代码:
public class SocketClinetTest {
/**
* @param args
* @author zcc
* @throws IOException
* @throws UnknownHostException
* @date 2016-7-27上午10:56:18
*/
public static void main(String[] args) throws UnknownHostException, IOException {
//接收服务端
Socket server = new Socket(InetAddress.getLocalHost(),3333);
//写
BufferedReader in = new BufferedReader(new InputStreamReader(server.getInputStream()));
//读
PrintWriter out = new PrintWriter(server.getOutputStream());
//键盘录入
BufferedReader wt = new BufferedReader(new InputStreamReader(System.in));
while(true){
String str =wt.readLine();
out.println(str);
//刷新内存缓冲区
out.flush();
if(str.equals("end")){
break;
}
System.out.println("服务端传递的值:"+in.readLine());
}
server.close();
}
}
相关推荐
基于socket实现即时通信,能够发送消息,包涵源代码
java Socket通信实现
基于Qt实现局域网Socket通信系统源码。分别有服务端(Server)和客户端(Client) 服务端默认监听本机IP的6666端口 本人实测在linux(需防火墙开启端口)和windows下完美运行。基于Qt实现局域网Socket通信系统源码。...
嵌入式linux系统的socket通信程序 嵌入式linux系统的socket通信程序
一个能够消息处理中间件,该中间件采用socket通信,能够监听其他系统发来的消息。
基于Socket通信PyQt5仿QQ聊天系统设计源码.rar 基于Socket通信PyQt5仿QQ聊天系统设计源码.rar 基于Socket通信PyQt5仿QQ聊天系统设计源码.rar 基于Socket通信PyQt5仿QQ聊天系统设计源码.rar 基于Socket通信PyQt5仿QQ...
该工程程序在Linux系统下实现,实现了Socket通信,从简单的文件操作,到TCP/IP程序的实现,对相关通信开发者有很大帮助。
基于Java实现的即时通信系统,很适合刚学Java的人群做简单的Java开发小项目
C#使用Socket实现服务器与多个客户端通信(简单的聊天系统)
socket通常叫做‘套接字’,用于描述IP地址和端口,是一个通信链的句柄。应用程序通过套接字向网络发出请求或者应答忘了请求。socket既不是程序,也不是协议,其只是操作系统提供的通信层的一组抽象API
基于Socket的Linux与Windows下WiFi模块间通信的实现.pdf
使用传统的socket方式实现Android进程间的通信。 有别于Android系统自身的AIDL的通信方式。 下载即可运行。 项目为Eclipse下的,下载注意非AndroidStudio; 下载分数为1分,评论后即可返回。
Linux socket 通信客户端支持无限收发
1 与 client 建立 socket 连接 2 将登任务清单对应员工写入文件 3 等待接收登录信息,显示用户名,密码及登录时间 4 将登录信息写入文件 5 对应用户名查找并读取任务文件 6 通过 socket 发送 文件内容 ...
Linux下基于socket多线程并发通信的实现,论文,pdf文档
java基于socket通信的模拟路灯控制系统源码。socket通信,远程控制路灯的开关,以及采集周围环境信息(温湿度等) 普通的java的swing项目,克隆下来运行即可,环境量都是模拟的。 不过记得先运行服务端再运行客户端...
Socke既适用于同一台计算机上的进程间通信,也适用于网络环境中的进程间通信。它已成为当前许多操作系统的网络API,也是网络操作系统中必不可少的基础功能。套接字是通信的基本元件,两个进程为了进行通信,首先必须...
文章目录Python中的进程间通信1 进程间通信1.1 概念1.2进程间通信方法各种进程间通信1. 基于信号量(Semaphore)的IPC2 基于信号(Signal)的IPC3.基于管道(Pipe)的IPC4. 基于有名管道(fifo)的IPC5.基于消息队列...
这是我们近期做的一个监控系统,实现功能如下:服务器端 分屏及全凭监视多个客户端。还可以控制客户端 如:锁定计算机,定时关机,查看进程,还实现了文本聊天功能。
资源名字:基于java+Socket+sqlserver的网络通信系统设计与实现(源码+文档)_java_Socket_CS架构_网络通信系统.zip 资源内容:项目全套源码+完整文档 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。