首页>代码>30个java常用工具类分享>/[工具类] 通信客户端simpleClient.java
package com.common.network;

import java.net.*;
import java.io.*;

/**
 * 
 * 功能描述:<br />
 * 客户端SOCKET应用程序与服务器端SOCKET应用程序的流程很相似,最大的差别在于:<br />
 * 1、服务器端SOCKET应用程序主要用于侦听及接收客户端的连接,而客户端的SOCKET 应用程序则用于尝试与服务器端建立连接
 * 
 * 2、客户端SOCKET应用程序发送信息指令至服务器端,并接收服务器端所返回的结果;
 * 而服务器端SOCEKT应用程序则处理指令逻辑,并将结果或错误信息发送至客户端
 * 
 * 常见的客户端应用有:<br />
 * CHAT客户端,FTP客户端,POP3客户端,SMTP客户端和TELNET客户端<br />
 * 
 * 建立客户端SOCKET应用程序的步骤大致如下:
 * 
 * 1、建立客户端SOCKET,在建立时需指定欲连接服务器端的主机名称(或IP)与INTERNET 通信端口 <br />
 * 
 * 2。发送特定信息或指令至服务器端
 * 
 * 3、接收服务器端返回的执行结果或错误信息,并以特定格式显示,例如HTTP通信协议会通过 HTML显示
 * 
 * 4、当客户端不需服务器端的处理时,便关闭SOCEKT通信链接
 * 
 * 
 * @author Administrator
 * @Date Jul 19, 2008
 * @Time 9:53:47 AM
 * @version 1.0
 * 
 */
public class simpleClient {

	private static Socket socket;

	public static void main(String[] args) throws Exception {
		String host;
		int port;
		if (args.length < 2) {
			System.out
					.println("Usage:java simpleClient [remote IP/Host] [port]");
			System.exit(1);
		}
		host = args[0];
		port = Integer.parseInt(args[1]);
		connectServer(host, port);
	}

	/**
	 * 功能描述:连接服务器
	 * 
	 * @param host
	 *            服务器端的主机名称或者IP地址
	 * @param port
	 *            服务器端通信端口
	 */
	public static void connectServer(String host, int port) {
		try {
			socket = new Socket(InetAddress.getByName(host), port);
			DataInputStream in = new DataInputStream(socket.getInputStream());
			@SuppressWarnings("unused")
			DataOutputStream out = new DataOutputStream(socket
					.getOutputStream());// 建立通信通道

			byte[] inByte = new byte[1024];
			in.read(inByte);
			String response = new String(inByte, 0, inByte.length);
			System.out.println("Message from server: ");
			System.out.println(response.trim());
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException ex) {
			ex.printStackTrace();
		} finally {
			try {
				socket.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
最近下载更多
ljt289917726  LV3 2022年9月5日
zhy1989wz  LV6 2022年3月11日
wxhky159159  LV1 2022年1月4日
duqiangedu  LV3 2021年12月16日
LanQian111111  LV1 2021年8月18日
落后就要挨打  LV26 2021年6月16日
耀眼的星星  LV3 2021年4月17日
2469095052  LV8 2021年3月3日
花椒谢霆锋  LV8 2021年3月3日
gaoyangzhi  LV1 2021年1月25日
最近浏览更多
Hachi6  LV13 6月27日
3334004690  LV10 6月6日
lee123321  LV22 2023年12月19日
szf123  LV12 2023年5月31日
浪里格朗  LV4 2023年1月31日
二进制2  LV3 2023年1月6日
jjfskldjf  LV2 2022年11月27日
11220011  LV5 2022年11月7日
香菇肉饼汤  LV8 2022年10月30日
heqian  LV17 2022年10月14日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友