java的serversocket_Java中的Socket通信(二)ServerSocket的建立与使用

  • Post author:
  • Post category:java


在Eclipse当中创建一个Java项目TestMyServerSocketpackage com.yeqc.testmyserversocket.main;

import java.io.IOException;

import java.net.ServerSocket;

import java.net.Socket;

import javax.swing.JOptionPane;

public class MyserverSocket {

public static void main(String[] args) {

//1-65535

try {

ServerSocket serverSocket = new ServerSocket(54321);

//serverSocket.accept();//调用accept()侦听客户端的连接

/**

*accept()是一个阻塞的方法,所以在这里它会阻塞当前的线程

*既然它会阻塞当前的main线程,在这里创建的原因是在这里只做演示

*这样写其实并不严谨,在以后会以正确的方法把它写出来

*

*在当前的ServerSocket已经在监听本机的12345这个端口了

*当这个端口它的accept()被调用之后,也就是说有客户端连接到了这个端口

*/

Socket socket = serverSocket.accept();

//建立连接

/**

* 一旦accept()被执行,并且socket被赋值了,这就说明已经有客户端连接了

*/

JOptionPane.showMessageDialog(null, “有客户端连接到了本机的12345端口”);

//弹出提示框

} catch (IOException e) {

e.printStackTrace();

}

}

}

此时可以看到当前的程序是在运行并且没有停止,而且没有输出任何提示框,所以可以看出当前的程序是被阻塞在了语句:serverSocket.accept();

然后打开浏览器,在地址栏中输入127.0.0.1:54321(127.0.0.1代表读取本机的地址,冒号后面代表要读取的端口),可以看到弹出的提示框。



版权声明:本文为weixin_30120827原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。