import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
- 在服务器中 socket.getRemoteSocketAddress()
*/
class Service implements Runnable{
private ServerSocket ss = null; //创建端口
private Socket s = null;
private InputStream input = null;
private OutputStream output = null;
private ObjectOutputStream object = null;
private PrintWriter print = null;
public Service(Socket s){
this.s = s;
}
@Override
public void run () {
try {
input = s.getInputStream (); //网络上读写字节流
output = s.getOutputStream ();
object = new ObjectOutputStream ( output );
print = new PrintWriter ( output );
//写
//发一个整数
object.writeInt ( 45 );
//发一个浮点数
object.writeDouble ( 132.45 );
//发一个字符串
// print.println ( “Hello Socket!” );
//发一个对象
Student st = new Student ( 1221,“jdhsb” );
object.writeObject ( st );
print.flush ();
object.flush ();
} catch (IOException e) {
e.printStackTrace ();
}
}
}
public class ObjectServer {
public static void main (String[] args) {
ServerSocket ss = null; //创建端口
Socket s = null;
try {
ss = new ServerSocket ( 33627 );
System.out.println (“监听客户连接。。。”);
while (true) {
s = ss.accept (); //监听
System.out.println (“已监听到客户连接[远程主机”+
s.getRemoteSocketAddress ().toString () +
“:端口:”+
s.getPort ()+"]");
new Thread ( new Service ( s ) );
}
} catch (Exception e) {
e.printStackTrace ();
}
}
}