<Java 网络基础知识>学习日志(三)——基于TCP的socket实现
博客专区 > WhuBit 的博客 > 博客详情
<Java 网络基础知识>学习日志(三)——基于TCP的socket实现
WhuBit 发表于1年前
<Java 网络基础知识>学习日志(三)——基于TCP的socket实现
  • 发表于 1年前
  • 阅读 5
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

package 网络基础知识;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;

public class TCPServerSocket {
	/*
	 * 2016/11/19
	 * 基于TCP的ServerSocket
	 */

	public static void main(String[] args) {
	
		try {
			//创建一个服务器端Socket,并指定监听端口
			ServerSocket ser=new ServerSocket(8888);
			int count=0;
			//开始监听
			System.out.println("====请系好安全带,服务器即将启动====");
			while(true){
				Socket socket=ser.accept();
				SocketThread st=new SocketThread(socket);
				//启动线程
				st.start();
				count++;
				InetAddress address=socket.getInetAddress();
				System.out.println("客户端的IP:"+address.getHostAddress());
				System.out.println("已连接用户:"+count);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}

package 网络基础知识;

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

public class TCPClientSocket {

	public static void main(String[] args) {	
			try {
				//创建客户端Socket,制定服务器地址和端口
				Socket socket=new Socket("localhost",8888);
				//获取输出流,向服务器端发送信息
				OutputStream os=socket.getOutputStream();
				OutputStreamWriter osr=new OutputStreamWriter(os);
				PrintWriter pw=new PrintWriter(osr);
				
				pw.write("用户名:Sam;密码:8888888");
				pw.flush();//发出信息
				
				
				
				//关闭输出、输出流
				socket.shutdownOutput();
				
				InputStream is=socket.getInputStream();
				InputStreamReader isr=new InputStreamReader(is);
				BufferedReader br=new BufferedReader(isr);
				
				String info=null;
				while((info=br.readLine())!=null)
					System.out.println("我是客户端,服务器说:"+info);
				socket.shutdownInput();
				//关闭其他资源
				os.close();
				osr.close();
				pw.close();
				
				is.close();
				isr.close();
				br.close();
				socket.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
			
		
		

	}

}
共有 人打赏支持
粉丝 1
博文 12
码字总数 4328
×
WhuBit
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: