java网络编程之Tcp协议下的聊天小程序
2016-08-29 21:29
826 查看
需求:服务端和客户端实现一句一句的聊天。
服务端
package com.itheima; 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.net.ServerSocket; import java.net.Socket; public class MyChatService { public static void main(String[] args) throws IOException { // 获取serverSocket的服务 ServerSocket serverSocket = new ServerSocket(9090); // 获取socket Socket socket = serverSocket.accept(); // 获取socket输入流包装 BufferedReader bufferdreader = new BufferedReader( new InputStreamReader(socket.getInputStream())); // 获取标准的输入流包装 BufferedReader reader = new BufferedReader(new InputStreamReader( System.in)); // 获取 输出流包装成buffered BufferedWriter writer = new BufferedWriter(new OutputStreamWriter( socket.getOutputStream())); //判断从客户端发来的信息是否为空,输入信息,写信息 String str = ""; while ((str = bufferdreader.readLine()) != null) { System.out.println("客户端发来消息:"+str); str =reader.readLine(); writer.write(str + "\r\n"); writer.flush(); } serverSocket.close(); } }
客服端
package com.itheima;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.security.KeyRep;
import javax.xml.ws.handler.MessageContext.Scope;
/*
发消息给服务端
接受服务端的消息
*/
public class MyChatClient {
public static void main(String[] args) throws IOException, IOException {
// 创建socket的服务
Socket socket = new Socket(InetAddress.getLocalHost(), 9090);
// 获得标准输入流,并包装 BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(System.in)); // 获得流对象的输出流 BufferedWriter bufferedWriter = new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())); // 读取输入流中的数据如果不等于空,写信息。输入信息。
// bufferedWriter.write(“hello 服务端 \r\n”);
// bufferedWriter.flush();
// 获取socket的输入流,包装并输出 BufferedReader reader = new BufferedReader(new InputStreamReader( socket.getInputStream())); //如果流服务器,接受的数据不等于空,读出socket数据,写标准流数据 String str = ""; while ((str = bufferedReader.readLine()) != null) { bufferedWriter.write(str + "\r\n"); bufferedWriter.flush(); str = reader.readLine(); System.out.println("服务端发来消息:"+str); } socket.close(); }
}
$(".MathJax").remove();
相关文章推荐
- 黑马程序员_Java基础_网络编程_UDP传输协议编程,控制台聊天程序
- java 网络编程【6】 用UDP编写网络聊天程序 以及 TCP编程实例
- Java基础---Java---网络编程---TCP的传输、客户端和服务端的互访、建立一个文本转换器、编写一个聊天程序
- 【Java网络编程】UDP协议实例——简单的在线聊天程序
- Java基础---Java---网络编程---TCP的传输、客户端和服务端的互访、建立一个文本转换器、编写一个聊天程序
- Java网络编程(UDP协议-聊天程序)
- Linux网络编程之聊天程序(TCP协议之select)
- Linux网络编程之聊天程序(TCP协议之select)
- 使用UDP协议的JAVA网络聊天程序
- Java基础---Java---网络编程---TCP、UDP、UDP-键盘录入方式数据、Socket、TCP复制文件、UDP-聊天
- java 聊天程序 socket网络编程
- Java基础知识强化之网络编程笔记12:TCP之TCP协议上传文本文件并给出反馈
- Java一步一脚印—通过简单的TCP网络编程实现局域网的聊天对话
- JAVA 网络编程 UDP(聊天程序)
- 26-网络编程-09-网络编程(UDP协议-聊天程序)
- Java基础知识强化之网络编程笔记13:TCP之TCP协议上传图片并给出反馈
- JAVA高级视频 网络编程 07 TCP客户端程序
- Java_常瑞鹏 java_网络编程实现一个 聊天程序
- Java网络编程 - 基于UDP协议 实现简单的聊天室程序
- Java网络编程以及简单的聊天程序