客户服务器交互简单的例子改进(1)人有待改进
来源:互联网 发布:淘宝店招图片大全免费 编辑:程序博客网 时间:2024/05/22 06:22
这次的改进解决了客户与服务器每次交互时必须重建连接的问题,但一旦绑定后,其他客户端不能再连接到服务器。这是一个单线程的服务器。
服务器端:
package Server;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.ServerSocket;
import java.net.Socket;
import client.user;
public class ServerTest implements Runnable {
private int port;//端口号
private ServerSocket server = null;
public ServerTest(){
this(8000);
}
public ServerTest(int port){
this.port = port;
}
public void run() {
try {
server = new ServerSocket(port);
Socket client = server.accept();
ObjectInputStream ois = new ObjectInputStream(
client.getInputStream());
while(true){
System.out.println(client);
String str;
try {
str = (String)ois.readObject();
System.out.println(str);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
} catch (IOException e1) {
e1.printStackTrace();
}finally{
if(server != null)
try {
server.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String []args){
ServerTest s = new ServerTest();
new Thread(s).start();
}
}
客户端:
package client;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class ClientTest implements Runnable{
private String host;
private int port;
private Socket client;
private BufferedReader br;
private ObjectOutputStream oos;
ClientTest(){
this("172.17.4.20",8000);
}
ClientTest(String IP,int port){
this.host = IP;
this.port = port;
try {
client = new Socket(host,port);
br = new BufferedReader(new InputStreamReader(System.in));
oos = new ObjectOutputStream(client.getOutputStream());
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void run() {
String into;
while(true){
try {
into= br.readLine();
oos.writeObject(into);
oos.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String []args){
ClientTest c = new ClientTest();
new Thread(c).start();
}
}
- 客户服务器交互简单的例子(1)有待改进
- 客户服务器交互简单的例子改进(1)人有待改进
- tcp客户/服务器程序例子步步改进之一------大体实现
- 学习上有待改进的地方
- boost的filesystem库有待改进
- CSS的一些基础(有待改进)
- 简单的客户-服务器交互过程
- LISP 简单的数据库 3.4 改进用户交互
- 服务器架构改进1
- 有待改进-------spring配置数据源写的DAO
- logout函数,有待改进,先完成基本的功能
- WebSocket服务器的几次改进
- 用select改进回射客户-服务器模型
- 《unix网络编程》(18)基本UDP套接字 简单客户服务器回射程序及改进
- list转化成json(有待改进)
- JAVA中排序函数(有待改进)
- 虫子爬井(有待改进)
- 简单工厂模式的改进
- 初到csdn
- ssh框架
- 43242
- 有关图的算法
- ss2h框架集成
- 客户服务器交互简单的例子改进(1)人有待改进
- 第一次安家
- [转]vc6如何设置Unicode字符集
- DOS启动盘制作
- 静态类
- C/C++资源
- 呵呵
- 有。没有
- [夜校] 兄弟连Linux在线课堂:第3讲 Linux常用命令