TCP编程服务器与客户端对话

1.连接步骤

/**
         * Socket套接字实现对话(服务器端与客户端)
         *         1.重点:点---点
         * 
         *     1.TCP传输协议
         *         通过Socket和ServerSocket对象来实现数据交互
         * 
         *     2.ServerSocket-服务端
         * 
         *     3.Socket----客户端
         * 
         *     4.流程(必须在同一个局域网络中)
         * 
         *         (1)服务端
         *             a.通过ServerSocket来创建服务器,并且在创建时必须要指定端口号.
         *             b.服务器开启成功后,会等待客户端来连接(此时这个步骤会出现卡顿)
         *             c.如果某客户端连上了该服务器,
         *             d.可以接收客户端发送的消息
         *             e.可以回复给客户端消息
         *             d.关闭所有资源
         *         

package com.zking.io04.work;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

/**
 * 服务端
 * @author Administrator
 *
 */
public class ServerS {

	public static void main(String[] args) throws Exception {
		System.out.println("--------------服务器-----------------");
		//1.创建服务端  通过ServerSocket
		ServerSocket ss=new ServerSocket(8778);
		System.out.println("服务已开启。。。。等待客户端连接!!!");
		Socket sk = ss.accept();//阻塞的方法
		System.out.println("有一个客户端上线了。。。。");
		
		//接收客户端发送的消息
		while(true) {
		InputStream is = sk.getInputStream();
		InputStreamReader isr=new InputStreamReader(is);
		BufferedReader br=new BufferedReader(isr);
		
		//读取一行
		String readLine = br.readLine();
		System.out.println("客户端说:"+readLine);
		
		OutputStream os = sk.getOutputStream();
		OutputStreamWriter osw=new OutputStreamWriter(os);
		BufferedWriter bw=new BufferedWriter(osw);
		//发送消息
//		String content="你好,服务器,我是客户端。我喜欢基督教的";
		Scanner scc=new Scanner(System.in);
		System.out.println("请输入发送的内容:");
		String content=scc.next();
		bw.write(content);
		bw.newLine();
		bw.flush();

		}
	}
	
}


         *         (2)客户端
         *             a.通过Socket来创建客户端,并且在对象上要指定服务器的IP地址以及服务器所对应的端口号
         *             b.如果成功连上服务器
         *             c.可以发送消息给服务器
         *             d.接收服务器发送的消息
         *             e.关闭所有资源
 

package com.zking.io04.work;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;

/**
 * 客户端
 * @author Administrator
 *
 */
public class Socket01 {

	public static void main(String[] args) throws Exception {
		System.out.println("--------------客户端-----------------");
		//1.使用Socket创建客户端
		Socket sk=new Socket(InetAddress.getByName("127.0.0.1"), 8778);
		System.out.println("客户端开启,成功连线服务器");
		Scanner sc=new Scanner(System.in);
		//当客户端连上服务器后,发送消息,通过网络流
		OutputStream os = sk.getOutputStream();
		OutputStreamWriter osw=new OutputStreamWriter(os);
		BufferedWriter bw=new BufferedWriter(osw);
		//发送消息
//		String content="你好,服务器,我是客户端。我喜欢基督教的";
		while(true) {
			Scanner scc=new Scanner(System.in);
			System.out.println("请输入发送的内容:");
			String content=sc.next();
			bw.write(content);
			bw.newLine();
			bw.flush();
//		}
		
		//接收服务端发送的消息
				InputStream is = sk.getInputStream();
				
				InputStreamReader isr=new InputStreamReader(is);
				BufferedReader br=new BufferedReader(isr);
				
				//读取一行
				String readLine = br.readLine();
				System.out.println("服务端说:"+readLine);
				}
				
	}
	
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值