编写Socket客户端和服务器程序,客户端发送一个包含多个数字的字符串给服务器,服务器排序后返回给客户端,要求服务器能连续不断地服务。
来源:互联网 发布:尚学堂java视频教程 编辑:程序博客网 时间:2024/05/21 11:08
客户端执行: java NumberSender -i 127.0.0.1 -p 8888 -d 99|789|3|0|-66
服务器端回送的结果:-66|0|3|99|789
操作步骤:
(1)客户端程序NumberSender发送请求到服务器端,并带上参数;
(2)Socket服务器端NumberSocketServer程序拆分接收的数字;
(3)Socket服务器端对接收到的数字进行冒泡排序;
(4)Socket服务器端程序将结果返回给客户端;
(5)客户端程序NumberSender接收并显示。
Socket服务器端程序:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class NumberSocketServer {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
ServerSocket ss = new ServerSocket(8888);
while (true) {
Socket socket = ss.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
String line = in.readLine();
System.out.println("接收到的内容:" + line);
String[] array = line.split("\\|");
int[] num = new int[array.length];
for (int i = 0; i < num.length; i++) {
num[i] = Integer.parseInt(array[i]);
}
for (int i = 0; i < num.length - 1; i++) {
for (int j = i + 1; j < num.length; j++) {
if (num[i] > num[j]) {
int temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
}
StringBuffer sb = new StringBuffer();
for (int i = 0; i < num.length; i++) {
sb.append(num[i]);
if (i != num.length - 1)
sb.append("|");
}
PrintWriter out = new PrintWriter(socket.getOutputStream(),
true);
out.println(sb.toString());
out.close();
in.close();
socket.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Socket客户端程序:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class NumberSender {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Socket socket = new Socket("127.0.0.1", 8888);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println("99|789|3|0|-66");
BufferedReader in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
System.out.println(in.readLine());
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
- 编写Socket客户端和服务器程序,客户端发送一个包含多个数字的字符串给服务器,服务器排序后返回给客户端,要求服务器能连续不断地服务。
- 客户端将手机号发送给服务器,服务器将包含该手机号文件名发送给客户端
- Python编写的客户端给服务器发送指令执行相应的命令并返回结果
- Python编写的客户端给服务器发送指令执行相应的命令并返回结果
- Test_Java_网络编程(客户端向服务器发送字符串,服务器将字符串反转后发送给客户端)
- Java客户端给服务器发送文件
- socket的客户端-服务器程序
- VB中一个服务器和多个客户端的程序
- 由一个论坛帖子, 解决udp 服务器无法返回数据给第一个客户端的问题
- tcp通讯_一个服务器可以给多个客户端发送图片
- windows 服务器 服务端程序发送RST给客户端
- 编写服务器和客户端
- socket 服务器和客户端
- Socket编程服务器和客户端(多个客户端可以同时连接一个服务器的同一端口)
- Socket编程服务器和客户端(多个客户端可以同时连接一个服务器的同一端口)
- Socket编程服务器和客户端(多个客户端可以同时连接一个服务器的同一端口)
- WEB客户端发送给WEB服务器的HTTP请求消息
- TCP实现客户端,服务器通信(客户端发送一个字符串,服务器回馈字符串的反序)
- MFC对Excel数据进行读取
- Kali Linux hosts and host.conf
- Spring学习笔记三(AOP中的那些事)
- HDU - 3715 Go Deeper (二分 + 2-SAT)
- tableView联动
- 编写Socket客户端和服务器程序,客户端发送一个包含多个数字的字符串给服务器,服务器排序后返回给客户端,要求服务器能连续不断地服务。
- 线程(2)-----线程池
- nyoj32组合数(dfs模板)
- scikit-learn(工程中用的相对较多的模型介绍):2.3. Clustering(可用于特征的无监督降维)
- wav音频文件头解析
- 杭电ACM(HDUOJ)试题分类
- MeasureSpec学习
- 计算组合数C(n,m)
- Property list 概述