/*
* date: 2004-11-29 author:zhangyu6050;
* todo:一个双人单方向通信例子
* 本文件是主机方(Server)
* 提供主机与客户机的通信套节字:fromClient
* bugs:
*/
import java.net.*;
import java.io.*;
public class ChatServer {
public static void main(String[] args) {
final int port = 1775; //建立通信的主机的端口号
ServerSocket socServer = null;
Socket fromClient=null;//主机与客户机的通信套节字:fromClient
String message="hello,i'm server!";
try
{
socServer = new ServerSocket(port);
}
catch (IOException e)
{
System.err.println("Could not listen on port: "+port);
System.exit(1);
}
Socket clientSocket = null;
try {
fromClient = socServer.accept();
} catch (IOException e) {
System.err.println("Accept failed.");
System.exit(1);
}
try{
ObjectOutputStream oos=new ObjectOutputStream(fromClient.getOutputStream());
oos.writeObject(message);
oos.close();
fromClient.close();//关闭套节字前要关闭所有的流连接
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
/*
* date: 2004-11-29
* author:zhangyu6050;
* todo: 一个双人单方向通信例子
* 本文件是客户方(client)
* bugs:
*/
import java.net.*;
import java.io.*;
public class ChatClient {
public static void main(String[] args) {
final int port=1775;
Socket socket=null;
try {
socket=new Socket("127.0.0.1",port);
ObjectInputStream ois=new ObjectInputStream(socket.getInputStream());
String mess=(String)ois.readObject();
System.out.print(mess);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
该博客给出了一个Java实现的双人单方向通信例子,包含主机方(Server)和客户方(Client)代码。主机方建立通信端口,等待客户机连接并发送消息;客户方连接主机并接收消息,代码中使用了Socket、ServerSocket等进行通信。
2506

被折叠的 条评论
为什么被折叠?



