木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java3年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql4年进入店铺

socket 通信

package socket;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;

/**
 * TCP通信的服务器端
 */
public class TCPServerTest {

	public static void main(String[] args) {
		ServerSocket ss = null;
		PrintWriter pw = null;
		BufferedReader  br = null;
		try {
			ss = new ServerSocket(8888);  //创建服务器Server并绑定到指定端口
			
			System.out.println("服务器开始监听8888端口....");
			Socket so = ss.accept();  //监听并接收客户端的TCP连接,返回与该客户端通信的Socket
			System.out.println("服务器接收到了一个客户端:" + so.getRemoteSocketAddress());
			//接收
			br = new BufferedReader(new InputStreamReader(so.getInputStream()));
			String str = br.readLine();
			System.out.println("客户端说:" + str);
			
			
			//从与客户端对应的Socket实例中获取字节输出流并转换成打印字符输出流,带自动刷新功能
//			pw = new PrintWriter(new OutputStreamWriter(so.getOutputStream()), true);
//			pw.println("你好,客户端!今天是:" + new Date());
			DataOutputStream dis = new DataOutputStream(so.getOutputStream());
			String result = "你好,客户端!今天是:" + new Date();
			dis.write(result.getBytes());
			dis.flush();
			
			//PrintStream System.in; 代表标准输入
			
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			if(null != pw){
				pw.close();
			}
			if(null != br){
				try {
					br.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if(null != ss){
				try {
					ss.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		
	}

}
package socket;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

/**
 * TCP通信的客户端
 */
public class TCPClientTest {

	public static void main(String[] args) {
		Socket s = null;
		BufferedReader  br = null;
		PrintWriter pw = null;
		try {
			s = new Socket("127.0.0.1",8888); //创建客户端Socket,并连接到指定IP地址和端口的服务器端程序
			//发
			pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream()), true);
			pw.println("你好,服务器!");
			
			//收
			br = new BufferedReader(new InputStreamReader(s.getInputStream()));
			String str = br.readLine();
			System.out.println("服务器说:" + str); 
			
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			
			if(null != pw){
				pw.close();
			}
			if(null != br){
				try {
					br.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if(null != s){
				try {
					s.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		
	}

}


posted @ 2011-07-02 14:12  C语言程序  阅读(183)  评论(0编辑  收藏  举报
木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java3年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql4年进入店铺