java的socket 编程

时间:2023-03-10 03:21:27
java的socket 编程

之前在学校的时候,有时间但是总是学不进去,现在工作了,总想多学点东西,但是又是没有时间来学习,只能在工作的闲暇之余,给自己充充电,随着学习的深入,越来月发现Java真的很强大,几乎什么都可以做的,以下的socket测试用例很早就写下了,

今天简单整理一下,发出来

1、Java根据域名获取ip

public class SocketTest {

    @SuppressWarnings("static-access")
@Test
public void testInetAddress() throws UnknownHostException { //输出www.geenk.com/122.225.102.194
InetAddress address=InetAddress.getByName("www.geenk.com");
//输出www.geenk.com
String hostname=address.getHostName();
//输出122.225.102.194
String hostAddress=address.getHostAddress();
//获取本机名字和ip IucK_J-PC/192.168.0.183
InetAddress localhost=address.getLocalHost(); System.out.println("address :"+address);
System.out.println("localhost :"+localhost);
System.out.println("hostname :"+hostname);
System.out.println("hostAddress :"+hostAddress); }

2、socket 测试

socket客户端

@Test
public void testSocket() throws UnknownHostException, IOException{ InetAddress address=InetAddress.getByName("127.0.0.1");
//建立客户端的socket的两种方式
//Socket sclient=new Socket("127.0.0.1", 8899);
Socket sclient=new Socket(address, 8000);
//获取输入流
InputStream is=sclient.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
System.out.println("(^_^) :"+br.readLine()); is.close();
br.close(); sclient.close(); }

socket服务器

@Test
public void testServerSocket() throws IOException{
//建立一个服务端的socket
ServerSocket ss=new ServerSocket(8000);
//接受客户端的socket
Socket s=ss.accept();
//用流的方式来接收socket
OutputStream os=s.getOutputStream();
PrintWriter pw=new PrintWriter(os);
pw.write("来自服务端的问候"); pw.close();
os.close(); s.close();
ss.close(); }

运行结果:java的socket 编程

注意:在运行socket的单元测试的时候,要先运行服务器端的代码,建立一个socketservice,时刻准备接受socket