Java UDP使用Socket进行网络聊天(1)

作者 : 卿笃军

原文地址:http://blog.csdn.net/qingdujun/article/details/39312065

本文演示,使用Socket进行网络聊天,实现客户端给服务器端一直发送消息,当发送“886”的时候,表示客户端关闭。

1)客户端,给服务器发送数据,发送“886”表示关闭客户端。

2)服务器,一直监听9527端口,将监听到的数据打印在控制台上。

一、客户端:主要使用了从键盘录入,和当发送“886”数据包的时候,关闭客户端。

[java] view plaincopyprint?

  1. package udp.send2.qdj;
  2. import java.io.BufferedReader;
  3. import java.io.InputStreamReader;
  4. import java.net.DatagramPacket;
  5. import java.net.DatagramSocket;
  6. import java.net.InetAddress;
  7. public class CUdpSend2 {
  8. public static void main(String[] args) throws Exception {
  9. //从本机1234端口发送数据
  10. DatagramSocket ds = new DatagramSocket(1234);
  11. //从键盘录入
  12. BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
  13. String line = null;
  14. while ((line=bufr.readLine())!=null)
  15. {
  16. if ("886".equals(line))
  17. break;
  18. byte[] buf = line.getBytes();
  19. //将数据打包,发送到对法机器的9527端口
  20. DatagramPacket dp = new DatagramPacket(buf, buf.length,InetAddress.getByName("10.100.56.210"),9527);
  21. //发送数据
  22. ds.send(dp);
  23. }
  24. //关闭资源
  25. ds.close();
  26. }
  27. }

客户端显示效果:

二、服务器端,主要是一直监听9527端口,并将监听到的数据打印到控制台上。

1)控制台可以拖放出来,如果需要放进去点击"最小化"左边那个的最下面那个选项就可以。

2)切换控制台,可以点击"最小化"左边第2个选项。

[java] view plaincopyprint?

  1. package udp.rece2.qdj;
  2. import java.net.DatagramPacket;
  3. import java.net.DatagramSocket;
  4. public class CUdpRece2 {
  5. public static void main(String[] args) throws Exception{
  6. //监听9527端口
  7. DatagramSocket ds = new DatagramSocket(9527);
  8. while (true)
  9. {
  10. byte[] buf = new byte[1024];
  11. //定义一个数据包
  12. DatagramPacket dp = new DatagramPacket(buf, buf.length);
  13. //接受数据包
  14. ds.receive(dp);
  15. //提取数据
  16. String ip = dp.getAddress().getHostAddress();
  17. String data = new String(dp.getData(),0,dp.getLength());
  18. System.out.println("ip号:"+ip+"\n数据data:"+data);
  19. }
  20. }
  21. }

服务器端,显示效果:

参考文献:Java视频 毕向东 主讲

原文地址:http://blog.csdn.net/qingdujun/article/details/39312065

时间: 2024-10-12 10:46:25

Java UDP使用Socket进行网络聊天(1)的相关文章

Java UDP使用Socket进行网络聊天(2)之群聊版

作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39312241 本文演示,使用Socket进行网络聊天之群聊,实现客户端给"局域网"网段里面的所以机器发送广播,当发送“886”的时候,表示客户端关闭. 1)客户端,给服务器发送数据,发送“886”表示关闭客户端. 2)服务器,一直监听9527端口,将监听到的数据打印在控制台上. 3)客户端+服务器版本,实现既可以发送数据,又可以接受数据的多线程聊天程序. 需要注

Java 使用Socket进行网络聊天(1)

作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39312065 本文演示,使用Socket进行网络聊天,实现客户端给服务器端一直发送消息,当发送"886"的时候,表示客户端关闭. 1)客户端,给服务器发送数据,发送"886"表示关闭客户端. 2)服务器,一直监听9527端口,将监听到的数据打印在控制台上. 一.客户端:主要使用了从键盘录入,和当发送"886"数据包的时候,

Java 使用Socket进行网络聊天(2)之群聊版

作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39312241 本文演示,使用Socket进行网络聊天之群聊,实现客户端给"局域网"网段里面的所以机器发送广播,当发送"886"的时候,表示客户端关闭. 1)客户端,给服务器发送数据,发送"886"表示关闭客户端. 2)服务器,一直监听9527端口,将监听到的数据打印在控制台上. 3)客户端+服务器版本,实现既可以发送数据,

基于Java实现hello/hi简单网络聊天程序

目录 Socket简要阐述 Socket的概念 Socket原理 hello/hi的简单网络聊天程序实现 服务器端 客户端 程序执行结果 跟踪分析调用栈 & Linux API对比 创建ServerSocket 调用栈图示 源码分析 Socket绑定 调用栈图示 源码分析 Socket监听 调用栈图示 源码分析 Socket Accept 调用栈图示 源码分析 Java Socekt API与Linux Socket API 参考链接 Socket简要阐述 Socket的概念 Socket的英文

Java TCP使用Socket进行网络文件传送(5)

作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39324737 本文演示,TCP使用Socket进行网络文件传送,实现将客户端的文件upload.txt上传到服务器. 1)客户端,上传文件upload.txt,并接受服务器反馈上传成功与否消息. 2)服务器,接受客户端文件,将接收到的文件命名为Rece.txt,同时给客户端发送消息"上传成功". 客户端,代码如下: package upload.file.cli

Java UDP使用Socket进行网络通信(0)

作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39300293 下面演示一个程序,用客户端给服务器发送一条信息,服务器收到后,打印在控制面板上. 1)客户端,给服务器发送数据 2)服务器,收到数据后,打印在控制面板上 一.客户端,主要步骤: 1)创建udp服务.通过DatagramSocket对象. 2)创建数据,并封装成数据包. 3)通过Socket服务,将已有数据包发送出去.通过send方式. 4)关闭资源. 客户端

Java实现一个简单的网络聊天程序

一.TCP通信概述 TCP协议是面向连接的通信协议,在传输数据之前,发送端和接收端必须建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输. 在TCP连接中必须要明确客户端与服务器端,由客户端向服务端发出连接请求,每次连接的创建都需要经过三次握手. 三次握手:TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠. ·第一次握手,客户端向服务器端发出连接请求,等待服务器确认. ·第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求.

12、android socket使用demo:网络聊天

目录: 一.效果图 二.原代码分享 三.代码分析 四.总结 一.效果图如下: 客户端1: 客户端2:           二.原代码分享如下: 1.java代码只有一个 MainActivity.java 1 package com; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 import java.io.OutputStream;

项目日志之基于Java socket的网络通讯

Java API网络类包中的Socket类是网络上运行的两个程序间双向通信的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上数据的传递.我们打算通过Java中基于Socket的网络编程实现一个简单的网络通信程序.这就是我们团队项目(开发一款简单的通讯软件,其基本功能是实现一对一的网络信息通讯,并努力向一对多和多对多靠近)的主要内容. 一.Java socket通信开发原理(查阅资料): 服务器使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端