Java 简单的Socket通讯的客户端实现
前面发了服务器端的代码,这里发客户端的,服务器类连接
有2个类,因为用了多线程,要实现Runnable接口
主类代码
[java]
/**
* 这是测试类
* @author WantnRun
* 2013年6月24日 11:10:19
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
MySocket mySocket=new MySocket();//新建客户端Socket类对象
new Thread(mySocket).start();//启动线程调用run方法
}
}
/**
* 这是测试类
* @author WantnRun
* 2013年6月24日 11:10:19
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
MySocket mySocket=new MySocket();//新建客户端Socket类对象
new Thread(mySocket).start();//启动线程调用run方法
}
}
客户端Socket类主要代码类
[java]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* 客户端的Socket类
* @author WantnRun
* 2013年6月24日 10:29:54
*/
public class MySocket implements Runnable {
/**
* Socket对象
*/
private Socket socket=null;
/**
* 服务器地址,如果在同一个机器上不能使用127.0.0.1的回环地址
*/
private String HOST="192.168.1.222";
/**
* 服务器端口
*/
private int PORT=8886;
/**
* 读取接收的数据
*/
private BufferedReader bufferedReader=null;
/**
* 将数据发送给对方
*/
private PrintWriter printWriter=null;
/**
* 多线程的run方法
*/
public void run() {
try {
//创建套接字,根据ip和端口号
socket=new Socket(InetAddress.getByName(HOST),PORT);
//使用套接字的输入流构造BUfferedReader对象
bufferedReader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
//使用套接字的输出流构造PrintWriter对象
printWriter=new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true);
//键盘输入对象
BufferedReader in=new BufferedReader((new InputStreamReader(System.in)));
while(true)
{
if(socket.isConnected())
{
//是连接状态
//客户端首先发送消息给服务器端
System.out.println("输入消息");
String str=in.readLine();//获取输入
printWriter.println(str);//发送给服务器
//接收服务器返回的消息
String msg=bufferedReader.readLine();//读取服务器的消息
System.out.println("服务器:"+msg);//打印服务器消息
}
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* 客户端的Socket类
* @author WantnRun
* 2013年6月24日 10:29:54
*/
public class MySocket implements Runnable {
/**
* Socket对象
*/
private Socket socket=null;
/**
* 服务器地址,如果在同一个机器上不能使用127.0.0.1的回环地址
*/
private String HOST="192.168.1.222";
/**
* 服务器端口
*/
private int PORT=8886;
/**
* 读取接收的数据
*/
private BufferedReader bufferedReader=null;
/**
* 将数据发送给对方
*/
private PrintWriter printWriter=null;
/**
* 多线程的run方法
*/
public void run() {
try {
//创建套接字,根据ip和端口号
so
补充:软件开发 , Java ,