UDP—Socket,套接字聊天简单的聊天程序。

思路:(发送端)

1.既然需要聊天。就应该怎么建立聊天程序,,DatagramSocket对象http://www.w3cschool.cc/manual/jdk1.6/

DatagramSocket dgSocket = new DatagramSocket();

2.那么发给谁?怎么打包数据。DatagramPacket。

代码如下DatagramPacket对象API文档链接http://www.w3cschool.cc/manual/jdk1.6/

具体查看集体代码:

//创建数据包
            byte[] buf = str.getBytes();
//并通过构造函数,制定发送的地址,和端口,字节数据包
            DatagramPacket dPacket = new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.100"),3536)

3.发送。

dgSocket.send(dPacket);

4.关闭连接

br.close();

 

 

思路:接收端

1.建立连接 相应的端口

2.接受,缓存保存。

3.处理

4.关闭

具体代码:和发送很是相同

//1.创建套接字  .. 设置相应的程序端口。和发送端指定的端口要相同,这样就能和要聊天。
        DatagramSocket dsSocket = new DatagramSocket(3536);
        System.out.println("开始聊天");
        String str =null; //记录用户的输入
        //用来接收好友反复发来的消息
        while(str=="88")
        {
            //2.创建数据包接受数据
            byte[] rec = new byte[1024];
            DatagramPacket dPacket = new DatagramPacket(rec,rec.length);
            dsSocket.receive(dPacket);
            str = new String(dPacket.getData(),0,dPacket.getLength());
            int poit = dPacket.getPort();    

            //打印看看
            System.out.println("你的消息:"+str+"------------------端口号"+poit);

        }
        //4.关闭
        dsSocket.close();
时间: 2024-10-13 02:59:29

UDP—Socket,套接字聊天简单的聊天程序。的相关文章

网络通信协议下的 TCP(三次握手,四次挥手) 和 UDP socket 套接字

osi七层模型 互联网的核心就是由一堆协议组成,协议就是标准,标准就是大家都认可的,所有人都按照这个来,这样大家都能够互相了解,互相深入了~~~比如全世界人通信的标准是英语 五层通信流程: tcp协议:(TCP把连接作为最基本的对象,每一条TCP连接都有两个端点,这种端点我们叫作套接字(socket),它的定义为端口号拼接到IP地址即构成了套接字,例如,若IP地址为192.3.4.16 而端口号为80,那么得到的套接字为192.3.4.16:80.) 当应用程序希望通过 TCP 与另一个应用程序

基于JAVA套接字的简单网络聊天程序

网络中进程之间如何通信 本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 消息传递(管道.FIFO.消息队列) 同步(互斥量.条件变量.读写锁.文件和写记录锁.信号量) 共享内存(匿名的和具名的) 远程过程调用(Solaris门和Sun RPC) 但这些都不是本文的主题!我们要讨论的是网络中进程之间如何通信?首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的.其实TCP/IP协议族已经帮我们解决了这个问题,网

基于UDP协议的socket套接字编程 基于socketserver实现并发的socket编程

基于UDP协议 的socket套接字编程 1.UDP套接字简单示例 1.1服务端 import socket server = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # 建立一个UDP协议的服务器 server.bind(("127.0.0.1",8080)) while True: data,addr = server.recvfrom(1024) server.sendto(data.upper(),addr) server

基于UDP协议的socket套接字编程

基于UDP协议的socket套接字编程 一.UDP套接字简单示例 1.1 服务器 import socket server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 数据报协议->UDP server.bind(('127.0.0.1', 8080)) while True: data, client_addr = server.recvfrom(1024) print('===>', data, client_addr) ser

linux网络环境下socket套接字编程(UDP文件传输)

今天我们来介绍一下在linux网络环境下使用socket套接字实现两个进程下文件的上传,下载,和退出操作! 在socket套接字编程中,我们当然可以基于TCP的传输协议来进行传输,但是在文件的传输中,如果我们使用TCP传输,会造成传输速度较慢的情况,所以我们在进行文件传输的过程中,最好要使用UDP传输. 在其中,我们需要写两个程序,一个客户端,一个服务端,在一个终端中,先运行服务端,在运行客户端,在服务端和客户端都输入IP地址和端口号,注意服务端和客户端的端口号要相同,然后选择功能,在linux

linux网络编程-(socket套接字编程UDP传输)

今天我们来介绍一下在linux网络环境下使用socket套接字实现两个进程下文件的上传,下载,和退出操作! 在socket套接字编程中,我们当然可以基于TCP的传输协议来进行传输,但是在文件的传输中,如果我们使用TCP传输,会造成传输速度较慢的情况,所以我们在进行文件传输的过程中,最好要使用UDP传输. 在其中,我们需要写两个程序,一个客户端,一个服务端,在一个终端中,先运行服务端,在运行客户端,在服务端和客户端都输入IP地址和端口号,注意服务端和客户端的端口号要相同,然后选择功能,在linux

socket套接字的学习与简单应用

socket套接字 Socket又称为套接字,它是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口提高了效率 socket就是一个模块.我们通过调用模块中已经实现的方法建立两个进程之间的连接和通信.也 为什么存在socket抽象层? 如果直接与操作系统数据交互非常麻烦,繁琐,socket对这些繁琐的的操作高度的封装,简化. socket在python中就是一个模块. 基于文件类型的套接字家族 套接字家族的名字:AF_UNIX unix一切皆文件,基于文件的套接字调用的就是底层的文件系

Socket(套接字) IP TCP UDP HTTP

Socket(套接字) (转)什么是套接字(Socket)? 应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题.多个TCP连接或多个应用程序进程可能需要 通过同一个TCP协议端口传输数据.为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字 (Socket)(socket是操作系统提供出来的接口)的接口,区分不同应用程序进程间的网络通信和连接.生成套接字,主要有3个参数:通信的目的IP地址.使用的传输 层

102 基于UDP协议的socket套接字

目录 一.基于UDP协议的socket套接字编程 1.1 用法 1.2 udp协议的特点 1.3 实例 一.基于UDP协议的socket套接字编程 socket套接字包括使用TCP协议和UDP协议进行通讯 1.1 用法 socket指定使用UDP通讯协议server = socket.socket(socket.AF_INET, type=socket.SOCK_DGRAM) 发送udp数据server.sendto(发送数据) 接收udp数据data, addr = server.recvfr