JAVA网络编程案例教程(微课版)第二章例子代码
一.EchoServer
serverUI.java
package cn.edu.ldu;
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketAddress;
import javax.swing.JOptionPane;
public class ServerUI extends javax.swing.JFrame {
private ServerSocket listenSocket = null;
private Socket toClientSocket = null;
public static int clientCounts = 0;
/**
* Creates new form ServerUI
*/
public ServerUI() {
initComponents();
}
private void btnStartActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
btnStart.setEnabled(false);
String hostname = txtHostName.getText();
int hostPort = Integer.parseInt(txtHostPort.getText());
SocketAddress serverAddr = new InetSocketAddress(InetAddress.getByName(hostname), hostPort);
listenSocket = new ServerSocket();
listenSocket.bind(serverAddr);
txtArea.append("服务器开始等待客户机连接...\n");
} catch (IOException ex) {
}
new Thread(new Runnable() {
@Override
public void run() {
try {
while(true){
toClientSocket = listenSocket.accept();
clientCounts++;
txtArea.append(toClientSocket.getRemoteSocketAddress() + "客户机编号:"+clientCounts+"