Java 简单的Socket通讯的客户端实现

前面发了服务器端的代码,这里发客户端的,服务器类连接

有2个类,因为用了多线程,要实现Runnable接口

主类代码

/**
 * 这是测试类
 * @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类主要代码类

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();
		}
		
	}


}

如有任何错误点,请大神们指出,小弟在这里谢谢了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值