java网络编程之Tcp协议下的聊天小程序

原创 2016年08月29日 21:29:02

需求:服务端和客户端实现一句一句的聊天。

服务端

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();
}

}

JAVA通过Swing和socket编程实现简易点对点聊天

一、窗口的制作;因为有了myeclipse所以窗口界面的制作就不需要手工写代码了。下面是我做的效果图: 二、界面做出来了,接下来就是写实现功能的代码了。        首先,整理下...
  • twomr
  • twomr
  • 2015年04月13日 21:22
  • 3386

java编写的GUI简单socket聊天源码小程序

  • 2009年07月02日 16:51
  • 46KB
  • 下载

java TCPSocket聊天小程序

java TCPSocket聊天小程序
  • wuer0520
  • wuer0520
  • 2013年11月17日 16:30
  • 1322

Java——多人聊天室(基于TCP的网络编程——Socket)

Java——多人聊天室(基于TCP的网络编程——Socket) 服务端源代码: import java.awt.BorderLayout; import java.awt.event.Actio...
  • qingsatianxia
  • qingsatianxia
  • 2015年11月27日 20:57
  • 3071

Java---基于TCP协议的相互即时通讯小程序

这是几年前,新浪的一个面试题~要求是3天之内实现~ 通过TCP 协议,建立一个服务器端。通过配置服务器端的IP和端口: 客户端之间就可以相互通讯~上线了全部在线用户会收到你上线的通知。 下线了全...
  • qq_26525215
  • qq_26525215
  • 2016年05月16日 20:00
  • 12969

JAVA程序设计:基于TCP协议的聊天程序

一、程序实现的功能: 1、进入客户端界面 2、创建昵称 3、群发信息 4、@私聊 5、下线通知 6、在线人数统计 二、整体架构图: ...
  • mmayanshuo
  • mmayanshuo
  • 2017年11月12日 14:35
  • 714

利用多线程与网络编程编写的实时聊天小程序

客户端代码: package Oracle; import java.io.BufferedReader; import java.io.IOException; import java....
  • xiongyi111222
  • xiongyi111222
  • 2017年09月01日 22:09
  • 97

网络编程应用:基于TCP协议【实现一个聊天程序】

网络编程应用:基于TCP协议实现一个聊天程序
  • baidu_37107022
  • baidu_37107022
  • 2017年05月04日 11:07
  • 250

java网络编程之Tcp协议下的聊天小程序

需求:服务端和客户端实现一句一句的聊天。服务端package com.itheima;import java.io.BufferedReader; import java.io.BufferedWri...
  • sleepOrThink
  • sleepOrThink
  • 2016年08月29日 21:29
  • 845

linux下TCP/IP实现简单聊天程序

可以在同一台电脑上运行,在一个终端上运行服务器端,在一个终端上运行客户端。 服务器端的IP地址要和本地的IP相同,并分配端口号,客户端的默认设置为本地,端口号自动分配。 服务器端: ...
  • u013467442
  • u013467442
  • 2015年05月16日 12:20
  • 2066
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java网络编程之Tcp协议下的聊天小程序
举报原因:
原因补充:

(最多只允许输入30个字)