包含javaudpsocket聊天室的词条

今天给各位分享javaudpsocket聊天室的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、我想用java中的udp做聊天工具怎么连接局域网两台电脑,举出具体事例,有代码的2、急求一个关于UDP的JAVA实现多人聊天源代码3、java 用udp 如何在聊天界面上显示谁上线4、用java的Udp写聊天程序,为什么不能实现一个端口号同时向两个端口号发送消息?不知如何实现,请高手解答?5、java socket实现两个客户段或多个客户端之间通信,该怎么解决

我想用java中的udp做聊天工具怎么连接局域网两台电脑,举出具体事例,有代码的

首先确定两台电脑都在同一个局域网。两台电脑都要装有java的运行环境,(直接两台电脑都装jdk吧 ,jre也是可以的)把代码分别拷贝到两台电脑上,假如用你的电脑做服务器,另一台电脑做客户端,先起你电脑的服务器,再在你电脑起一个客户端,然后在另一台电脑上再起一个客户端,这样两台电脑的客户端就可以通讯了。

注意:另一台电脑代码上面的IP地址要正确真上你电脑的IP地址

不懂的再继续问

包含javaudpsocket聊天室的词条

急求一个关于UDP的JAVA实现多人聊天源代码

import java.io.InputStream;

import java.io.DataInputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.DataOutputStream;

import java.io.BufferedReader;

import java.net.ServerSocket;

import java.net.Socket;

import java.io.IOException;

import java.util.Date;

class Server

{

public Server()

{

try

{

ServerSocket s=new ServerSocket(8888);

Socket ss=s.accept();

OutputStream out=ss.getOutputStream();

DataOutputStream dout=new DataOutputStream(out);

InputStream in=ss.getInputStream();

DataInputStream din=new DataInputStream(in);

System.out.print(din.readUTF()+”!”);

dout.writeUTF(“你已经连接到服务器”+”\t”+”你的地址:”+ss.getInetAddress()+”\t”

+”你的链接端口:”+ss.getLocalPort()+”\n”);

new ReadMessage(din).start();

new SendMessage(dout).start();

}

catch (IOException e)

{

e.printStackTrace();

}

}

public static void main(String[] args)

{

new Server();

}

}

//接受客户端信息

class ReadMessage extends Thread

{

private DataInputStream din;

public ReadMessage(DataInputStream din)

{

this.din=din;

}

public void run()

{

String str;

try

{

while (true)

{

str=din.readUTF();

System.out.println(new Date().toLocaleString()+”客户端说:”+str);

if (str.equals(“bye”))

{

System.out.println(“客户端下线!”);

break;

}

}

}

catch (IOException e)

{

e.printStackTrace();

}

}

}

// 发出服务器信息

class SendMessage extends Thread

{

private DataOutputStream dout;

public SendMessage(DataOutputStream dout)

{

this.dout=dout;

}

public void run()

{

InputStreamReader inr=new InputStreamReader(System.in);

BufferedReader buf=new BufferedReader(inr);

String str;

try

{

while(true)

{

str=buf.readLine();

dout.writeUTF(str);

if (str.equals(“bye”))

{

System.out.println(“服务器退出!”);

System.exit(1);

}

}

}

catch (IOException e)

{

e.printStackTrace();

}

}

}

import java.io.InputStream;

import java.io.DataInputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.DataOutputStream;

import java.io.BufferedReader;

import java.net.Socket;

import java.io.IOException;

import java.util.Date;

class Client

{

public Client()

{

try

{

Socket s=new Socket(“192.168.1.2”,8888);

InputStream in=s.getInputStream();

DataInputStream din=new DataInputStream(in);

OutputStream out=s.getOutputStream();

DataOutputStream dout=new DataOutputStream(out);

dout.writeUTF(“服务器你好!我是客户端”);

System.out.println(din.readUTF());

new Thread(new SenderMessage(dout)).start();

new Thread(new ReaderMessage(din)).start();

}

catch (IOException e)

{

e.printStackTrace();

}

}

public static void main(String[] args)

{

new Client();

}

}

class ReaderMessage implements Runnable

{

private DataInputStream din;

public ReaderMessage(DataInputStream din)

{

this.din=din;

}

public void run()

{

String str;

try

{

while(true)

{

str=din.readUTF();

System.out.println(new Date().toLocaleString()+”服务器说:”+str);

if (str.equals(“bye”))

{

System.out.println(“服务器已经关闭,此程序自动退出!”);

break;

}

}

}

catch (IOException e)

{

e.printStackTrace();

}

}

}

class SenderMessage implements Runnable

{

private DataOutputStream dout;

public SenderMessage(DataOutputStream dout)

{

this.dout=dout;

}

public void run()

{

String str;

InputStreamReader inf=new InputStreamReader(System.in);

BufferedReader buf=new BufferedReader(inf);

try

{

while (true)

{

str=buf.readLine();

dout.writeUTF(str);

if (str.equals(“bye”))

{

System.out.println(“客户端自己退出!”);

System.exit(1);

}

}

}

catch (IOException e)

{

e.printStackTrace();

}

}

}

java 用udp 如何在聊天界面上显示谁上线

服务器端维护一个在线用户的列表,当一个人上线的时候,这个人放到这个列表中,同时查找这个人的所有好友,并将好友及在线好友的地址发送给这个用户。然后让服务器或者用户本人发送他上线的消息,给每个在线的好友。

每过一段时间,这个人要和服务器ping一下,若这个人没有ping,则向这个人的所有在线好友发送这个人下线的消息。

用java的Udp写聊天程序,为什么不能实现一个端口号同时向两个端口号发送消息?不知如何实现,请高手解答?

使用DatagramSocket和DatagramPacket

其中DatagramSocket使用一个发送的端口号

DatagramPacket的参数

DatagramPacket(bytes[] bytes,int bytes[].length,InetAddress ip, int port);里的port就是目标端口

要向两个端口号发送,需要创建两个DatagramPacket,分别填写两个IP地址和端口号,并用DatagramSocket发送。

另外两个端口需要做监听

要注意ip要为局域网可以畅通无阻,广域网可能导致网管阻止

下面是个例子,发两遍即可。

int SERVER_PORT=7000;

String severIp=”192.168.1.100″;

DatagramSocket clientSocket;

try

{

InetAddress local = InetAddress.getByName(severIp);

DatagramPacket dPacket;

clientSocket = new DatagramSocket;

dPacket = new DatagramPacket(“Hello”.getBytes(“utf-8″),”Hello”.getBytes(“utf-8”).length,

local, SERVER_PORT);

clientSocket.send(dPacket);//这里是发送

byte[] msg = new byte[11246];

DatagramPacket rPacket = new DatagramPacket(msg, msg.length);

clientSocket.receive(rPacket);//这里是接收监听

}

catch (IOException e)

{

e.printStackTrace();

}

clientSocket.close();

java socket实现两个客户段或多个客户端之间通信,该怎么解决

javasocket有两种方式。一种是UDP这个可以直连,不需要服务器。一种是TCP这个是肯定要能过服务器来通信的。所以你说的。链接建立完毕后不再通过服务器!这个可以实现,但会麻烦一些。1.先说一下简单的点的吧。用TCP的方式。你所有的消息都是发给服务器。包含你的IP及通信端口,及对方的IP及通信端口信息。当然这些是隐藏在数据报中的。这样由服务器来进行分发。2.你说的那种方式有点类似TCP与UDP混合。首先启动一个SERVER然后每一个客户端,先要登陆SERVER,并在server上记录下你的IP及通信端口信息,如果你要连接某一个客户端。先要向服务器发出一个申请,获得到方的IP及端口信息,然后进行UDP连接。连接上以后,就是直接发送息,不需要服务器了。javasocket的东西,以前做过一些,所以有思路,但没有现成的代码。有问题再联系。

javaudpsocket聊天室的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javaudpsocket聊天室的信息别忘了在本站进行查找喔。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年4月4日 03:24:24
下一篇 2024年4月4日 03:33:38

相关推荐

  • 包含linuxiisaccess的词条

    毕业论文:linux系统的web服务器架设 1、我们以RedHat Linux 0系统为例,想要linuxconf在Web浏览器环境工作,必须进行以下设置: * 在gnome-linuxconf对话框中,打开“Config/Networking/Misc/Linuxconf network access”分支,选中“Enable netwoork acces…

    2024年5月23日
    4400
  • 包含黑客技术学习网址的词条

    信息安全技术专业的相关学习网站有哪些? 1、关于学习类的网站有掌门1对多贝、网易云课堂、慕课、传课、CSDN、我要自学网等等。 2、网络安全主要集中在大型城市,如北京上海广州深圳等,那里安全公司特别多,如360,天融信,奇安信等,所以学习网络安全建议选择这些城市。 3、入侵检测系统技术(IDS);加密&VPN技术;产品安全;安全管理。基础课程的主要内…

    2024年5月23日
    5100
  • linux聊天室,linux聊天室实验报告

    刚买的电脑需要关闭哪些端口? 1、这样,关闭了SMTP服务就相当于关闭了对应的端口。 2、为了让你的系统变为铜墙铁壁,应该封闭这些端口,主要有:TCP 131344591025 端口和 UDP 131313445 端口,一些流行病毒的后门端口(如 TCP 2743126129 端口),以及远程服务访问端口3389。 3、在“本地安全策略”窗口,用鼠标右击新添…

    2024年5月23日
    4400
  • 包含c语言对txt文件命名的词条

    如何在C语言编程里面修改源文件名字 如果你是在WINDOWS的话,简单了,随便用个编辑器,比如记事本,然后写c源程序,保存到你想要保存的位置。如果你在DOS下,可以用edit,写好以后,按alt键,选择文件菜单,然后保存。 用open打开文件,注意操作模式使用“修改”或者“添加” 用write或者fprintf向文件中写入你的内容。 用close关闭文件。 …

    2024年5月23日
    4900
  • 包含linux启动xinetd的词条

    简述linux进程的启动.终止的方式以及如何查看进程 查看启动的进程:可以使用以面命令来查看:01ps -ef |grep tomcat复制代码tomcat它是一个Java进程,所以查找Java进程也可查找出来。 ps -ef|grep java复制代码可以看到用户和进程编号,可以用kill 进程编号结束进程。 (1)手工启动 用户在输入端发出命令,直接启动…

    2024年5月23日
    4900
  • 包含linux内核二进制在内存分布的词条

    内存管理:一文读懂Linux内存组织结构及页面布局 (1)Linux虚拟内存实现机制 Linux虚拟内存的实现需要六种机制的支持:地址映射机制、内存分配回收机制、缓存和刷新机制、请求页机制、交换机制、内存共享机制。 Linux 内存管理是操作系统内核对物理内存的分配和管理。Linux 内存管理有两个基本任务:一是把可用的内存给程序使用,二是在物理内存不足时,…

    2024年5月23日
    4400
  • 包含Simcityjava的词条

    问一下各种程序的后缀 ,应用程序通常被分为两部分:图形用户接口(GUI)和引擎(Engien)。2,应用程序后缀名:(1)在DOS或Windows系统下其扩展名为*.exe或*.com;(2)在macosx下扩展名一般为*.app。 在windows操作系统下,可执行程序扩展名通常为.exe。全名executablefile,译作可执行文件,可移植可执行(P…

    2024年5月23日
    4700
  • 包含linuxnode后台运行的词条

    怎样使linux后台运行node服务指令 1、nohup node your_app.js & forever可以让我们做得更好,并且可以跨平台的在windows和Linux下都能运行。 2、安装指定版本的node.js(服务器基本软件的安装)你可以到nodejs org官网上面找到相对的tar.gz文件包,下载然后进行源码安装。 3、nodejs一…

    2024年5月23日
    3900
  • 包含hypervlinux集成服务的词条

    如何在Linux发行版中安装并启用Hyper-V集成服务 1、方法/步骤 在网上下载好linux系统的集成服务,并插入hyper-v磁盘中。用root 用户登录linux系统。linux系统自动载入cd rom 中。选择 install.sh,选择运行。运行中,重启电脑。 2、在Hyper-V控制台新建虚机,注意虚机的网卡先选择“旧版网络适配器”,主要是方便…

    2024年5月23日
    3900
  • 包含javajbtok的词条

    java的语法 1、Java的基本语法如下:大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。类名:对于所有的类来说,类名的首字母应该大写。 2、Java中区分大小写。类和接口名首字母必须大写,采用驼峰命名法,每一个名单词的首字母大写,例如:MyFirstJavaProgram;类名和源文件名必须一致。 3、关键字是电脑语言…

    2024年5月23日
    4100

发表回复

登录后才能评论



关注微信