ServerSocket
1.创建java project
2.编写MyServerSocket.java类
package com.nantian.socket;
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) {
try {
//port取值范围:1-65535(通常取值较大,这样可以和系统的分开)
ServerSocket serverSocket=new ServerSocket(12345);
//监听客户端的连接
//accept()为一个阻塞的方法,会阻塞当前的主线程,显然不合适,对于阻塞的方法应该另起一个线程
//ServerSocket的accept()方法是侦听并接受到此套接字的连接,
//就是一直等待连接,此方法在连接传入之前一直阻塞。直到接受到有socket的连接。
Socket socket=serverSocket.accept();
//建立连接
JOptionPane.showMessageDialog(null, "有客户端连接到了本机的12345端口");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.nantian.socket;
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) {
try {
//port取值范围:1-65535(通常取值较大,这样可以和系统的分开)
ServerSocket serverSocket=new ServerSocket(12345);
//监听客户端的连接
//accept()为一个阻塞的方法,会阻塞当前的线程
//ServerSocket的accept()方法是侦听并接受到此套接字的连接,
//就是一直等待连接,此方法在连接传入之前一直阻塞。直到接受到有socket的连接。
Socket socket=serverSocket.accept();
//建立连接
JOptionPane.showMessageDialog(null, "有客户端连接到了本机的12345端口");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
3.右键run as -->java application
main线程处于阻塞状态:
浏览器端输入:127.0.0.1/12345
出现如下图:
===================================================================================================================================
//accept()为一个阻塞的方法,会阻塞当前的主线程,显然不合适,对于阻塞的方法应该另起一个线程
代码改进:(见)
使用 ServerSocket 建立聊天服务器-1