服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java中的基于套结字(socket)的通信 一. 一个双人单方向通信例子


  /*
* 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();
}
}
}

扫描关注微信公众号