`
fanrey
  • 浏览: 252023 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java socket example

    博客分类:
  • JAVA
 
阅读更多
ObjectServer.java
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class ObjectServer {

	public static int PORT = 8080;
	public static void main(String[] agrs) {
		ServerSocket s = null;
		Socket socket = null;
		ObjectOutputStream oos = null;
		ObjectInputStream ois = null;
		try {
			s = new ServerSocket(PORT);
			System.out.println("ServerSocket Start:"+s);
			socket = s.accept();
			System.out.println("Connection accept socket:"+socket);
			ois = new ObjectInputStream(socket.getInputStream());
			Message message = (Message)ois.readObject();
			System.out.println(message.toString());
			message.setContent("client received");
			oos = new ObjectOutputStream(socket.getOutputStream());
			oos.writeObject(message);
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			try {
				ois.close();
				oos.close();
				socket.close();
				s.close();
			} catch (Exception e2) {
				
			}
		}
	}
}




ObjectClient.java
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;

public class ObjectClient {

	public static void main(String[] args) {
		Socket socket = null;
		ObjectOutputStream oos = null;
		ObjectInputStream ois = null;
		try {
			socket = new Socket("127.0.0.1", ObjectServer.PORT);
			System.out.println("Socket=" + socket);
			Message message = new Message("1", "Client sent");
			oos = new ObjectOutputStream(socket.getOutputStream());
			oos.writeObject(message);
			ois = new ObjectInputStream(socket.getInputStream());
			message = (Message)ois.readObject();
			System.out.println(message.toString());
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				ois.close();
				oos.close();
				socket.close();
			} catch (Exception e2) {
				
			}
		}
	}

}


Message.java
import java.io.Serializable;
the object should be serializable for socket transfer
public class Message implements Serializable{

	private static final long serialVersionUID = 1L;
	
	private String id;
	
	private String content;
	
	public Message(String id, String content){
		this.id = id;
		this.content = content;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}
	
	public String toString(){
		return "id = " + id + " content = " + content;
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics