`

Socket编程 一个小的聊天程序

 
阅读更多

有两个程序:一个是服务器端。一个是客户端。

首先是运行服务器,服务器代码:

import java.io.*;
import java.net.*;
import java.util.Scanner;

public class TestTalkServer {
	public static void main(String[] args) {
		InputStream in = null;
		OutputStream out = null;
		Scanner scan = new Scanner(System.in);
		try{
			ServerSocket ss = new ServerSocket(6888);
			Socket socket = ss.accept();
			in = socket.getInputStream();
			out = socket.getOutputStream();
			DataInputStream dis = new DataInputStream(in);
			DataOutputStream dos = new DataOutputStream(out);
			String s = null;
			//接收客户端信息。并打印
			s = dis.readUTF();
			System.out.println(s);
			//接受用户的输入
			String sIn = null;
			sIn = scan.nextLine();
			while(!(sIn.equals("bye"))){
				//回答客户端
				dos.writeUTF(sIn);
				
				//准备接受客户端
				s = dis.readUTF();
				System.out.println(s);
				//准备写回答的内容
				System.out.println("请回答");
				sIn = scan.nextLine();
			}
			dos.close();
			dis.close();
		}catch(IOException e){
			e.printStackTrace();
		}
	}
}


客户端代码:

import java.net.*;
import java.io.*;
import java.util.*;
public class TestTalkClient {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		InputStream is = null;
		OutputStream os = null;
		try{
			Socket socket = new Socket("localhost", 6888);
			is = socket.getInputStream();
			os = socket.getOutputStream();
			DataInputStream dis = new DataInputStream(is);
			DataOutputStream dos = new DataOutputStream(os);
			String sIn = null;
			String sOut = null;
//			sOut = dis.readUTF();
			System.out.println("你好,建立连接请讲话");
			sIn = scan.nextLine();
			while(!sIn.equals("bye")){
				//向服务器发送数据
				dos.writeUTF(sIn);
				
				//准备接受服务器对话
				sOut = dis.readUTF();
				System.out.println(sOut);
				
				System.out.println("继续?");
				sIn = scan.nextLine();
			}
			
			dis.close();
			dos.close();
		}catch(UnknownHostException e){
			e.printStackTrace();
		}catch(IOException e){
			e.printStackTrace();
		}
	}
}


运行时要首先在客户端写信息,然后由服务器再写信息。只能是一句一句的交流。写“bye”退出对话。
分享到:
评论

相关推荐

    socket编程 简单聊天程序

    在这个“简单聊天程序”中,我们将探讨如何使用Socket来构建一个基本的聊天应用,让两个用户可以通过互联网进行实时交流。 首先,我们需要理解什么是Socket。Socket是网络编程中的一个抽象概念,可以看作是两台...

    练习\Socket和多线程编程的聊天程序实现

    【知识点详解】 1. **Socket编程**:Socket是网络编程中的基本组件,它提供了一种在互联网中...通过上述设计,一个简单的多线程网络聊天程序可以实现多人同时在线聊天的功能,满足用户在不同地点进行实时交流的需求。

    socket编程实现聊天程序

    最终,这个基于socket编程的聊天程序能够使用户通过计算机网络进行实时的文本消息交流。对于学生来说,通过实验报告书中的实践目的,可以理解网络编程的基本原理,并通过编程与实现部分,深入掌握TCP/IP协议在实际...

    socket编程-聊天小程序

    在这个“socket编程-聊天小程序”的项目中,我们主要探讨的是如何利用TCP/IP协议栈来构建一个简单的聊天应用程序。TCP(传输控制协议)是一种面向连接、可靠的传输协议,确保数据在传输过程中的正确性与顺序。 首先...

    Java聊天室程序,socket编程

    - 为了让用户友好地交互,聊天程序通常会有一个图形用户界面(GUI),可能使用Java的Swing或JavaFX库来实现。用户可以通过GUI输入消息并查看其他人的聊天记录。 通过以上步骤,一个基本的Java聊天室程序就可以构建...

    基于socket编程题的java聊天程序

    Java聊天程序是网络编程中的一个经典案例,它利用Socket编程技术实现客户端和服务端之间的通信。在Java中,Socket是TCP/IP协议的应用层接口,用于在两台计算机之间建立可靠的、基于字节流的连接。本项目旨在教授如何...

    socket编程聊天小程序

    本程序由六个功能实现:1.双向通信: 2.屏蔽粗话 3.趣味表情 4.暂停通信(忙碌状态) 5.密码登陆 6手动离线. 详细介绍请参见压缩包内word文件说明。开发软件vs2017,纯个人设计能力有限,勿喷。

    VB 实现的socket编程 聊天程序

    【VB 实现的Socket编程 聊天程序】 在信息技术领域,Socket编程是一种常见的网络通信技术,它允许应用程序通过网络发送和接收数据。VB(Visual Basic)作为Microsoft开发的一种可视化的编程工具,提供了丰富的功能...

    Socket编写的一个基于MFC的聊天程序源代码。

    通过研究这个源代码,开发者不仅可以掌握MFC和Socket编程的基本原理,还能了解到如何将它们结合起来创建一个完整的网络聊天应用程序。这对于深入理解网络编程和Windows应用程序设计有着重要的实践意义。

    c++实现的socket编程聊天程序

    总的来说,"c++实现的socket编程聊天程序"是一个基础的网络通信教学案例,适合初学者了解Socket编程的基本流程和原理。通过学习和实践,开发者可以掌握如何在C++中创建网络应用程序,为更复杂的网络系统开发奠定基础...

    socket聊天小程序

    Socket聊天小程序是一个基于Socket编程实现的简易通信应用,它允许两台计算机之间的用户进行实时通信。Socket编程是网络编程的基础,它提供了低级别的、进程到进程的通信机制,使得两个远程进程之间可以交换数据。 ...

    Java基于socket的进程间通信 聊天小程序

    7. **聊天小程序设计**: 这个小程序可能包含两个主要部分:服务器端应用程序负责接收多个客户端的连接,处理来自客户端的消息,并广播这些消息给其他所有在线的客户端;客户端应用程序则用于连接服务器,发送用户...

    有关socket的编程代码(简单的聊天程序).rar_Socket编程 聊天_java socket 聊天

    这个简单的聊天程序是一个很好的起点,可以帮助初学者理解Socket编程的基本原理和操作。在深入学习时,还可以探索更多高级特性,如错误处理、心跳机制、加密通信等,以及更复杂的网络应用程序设计。 文件"有关...

    Socket网络编程、简单聊天程序、小文件传输.zip

    在本资料中,我们主要关注的是如何使用Socket来构建一个简单的聊天程序以及实现小文件的传输。在这个过程中,还会涉及到线程的简单运用,以提高程序的并发性能。 首先,Socket是网络通信的“插座”或接口,它定义了...

    基于socket的聊天程序

    这个“基于Socket的聊天程序”是用VC++编写的,它展示了如何利用Socket API在Windows平台上构建一个简单的聊天应用。 【描述】:“这是一个基于Socket的聊天程序,源码齐全,适合学习者理解Socket通信的基本原理和...

    使用java语言编写的聊天程序Socket编程

    在本教程中,我们将深入探讨如何使用Java实现一个简单的聊天程序,重点在于多线程的应用。 首先,Socket是TCP/IP协议栈的一部分,它为两台机器间的进程提供了低级别的、直接的、可靠的、基于连接的通信服务。在Java...

    基于java socket网络编程实现的简单模拟qq聊天的程序,可实现并发聊天

    Java Socket网络编程是Java语言中实现网络通信的基础,它提供了低级别的、面向连接的、...而本示例中的简单QQ聊天程序,主要是为了演示Java Socket的基本使用和并发处理,帮助初学者理解网络编程的基本概念和操作流程。

    局域网聊天 socket编程 java源程序

    本文将深入探讨“局域网聊天 socket编程 java源程序”的主题,解析其背后的技术细节和实现原理。 首先,让我们理解“局域网聊天”这个概念。局域网(LAN,Local Area Network)是指在有限地理范围内的计算机网络,...

    网络聊天工具Socket编程心得.doc

    网络聊天工具Socket编程心得 网络聊天工具Socket编程心得是...网络聊天工具Socket编程心得是指通过使用Socket编程来实现网络聊天工具的开发,需要了解TCP协议通信的流程和如何利用Socket建立服务器程序和客户端程序。

    基于Java Socket编程的局域网聊天程序源代码

    在这个“基于Java Socket编程的局域网聊天程序源代码”项目中,我们可以学习到如何构建一个简单的聊天应用程序,使得在同一局域网内的用户可以相互通信。以下是关于Java Socket编程的一些核心知识点和在该源代码中...

Global site tag (gtag.js) - Google Analytics