基本的Socket编程:
本实例介绍Socket编程的基本步骤。启动Socket服务后,再打开Socket刻画段,在输入框中输入消息,然后发送给服务器端,服务器端将收到的消息返回到客户端。
关键技术:
Socket编程的关键技术如下;
—–Socket服务器端需要在某个端口上开启服务端类型的Socket,即java.net.ServerSocket。通过他的accept方法等待并接收客户端的请求,返回的是一个java.netSocket对象,如果一直没有客户端请求,那么accept()方法将会一直等待。
—-Socket客户端根据服务器端的IP地址(域名)和端口号创建一个Socket对象,连接服务器端。
—–服务器端和客户端都持有一个Socket对象,服务器端的Socket从服务器端指向客户端,而客户端的Socket从客户端指向服务器端,这就像在客户端和服务器端建立了两条单向的管道。
—通过Socket类提供的getOutputStream方法获得Socket的输出流,getInputStream方法获得Socket输入流。
——————————
本实例分为三个类:SimpleServer实现了Socket服务器端,SimpleClient实现了Socket客户端,ClientFrame类将客户端实现为一个GUI程序。
package com.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
/*
* 一个简单的Socket服务器,能接收客户端请求,并将请求返回给客户端
*
*/
public class SimpleServer {
ServerSocket serverSkt=null;//服务器端侦探听的Socket
Socket clientSket=null;//客户端
BufferedReader in=null;//客户端输入流
PrintStream out=null;//客户端输出流
//构造方法
public SimpleServer(int port){
System.out.println("===服务器正在监听,端口:"+port+"===");
try{
serverSkt=new ServerSocket(port);//创建监听Socket
}catch(IOException e){
System.out.println("监听端口+"+port+"失败");
}
try{
clientSket