制作java聊天小程序 如何建立客户端与服务端的连接~
这个是UDP写的
这个是客户端
import java.awt.event.*;
import java.net.*;
import javax.swing.*;
public class UDPClientDemo extends JFrame{
String host="localhost"; //服务器地址
int port=2345; //端口号
public UDPClientDemo(){
try{
DatagramSocket socket=new DatagramSocket(); //实例化一个数据报Socket
InetAddress address=InetAddress.getByName(host); //服务器地址
byte[] buffer=new byte[256]; //缓冲区
DatagramPacket packet=new DatagramPacket(buffer,buffer.length,address,port); //实例化一个数据报
socket.send(packet); //发送报文
packet=new DatagramPacket(buffer,buffer.length);
socket.receive(packet); //接受回应
String message=new String(packet.getData()); //得到报文信息
System.out.println("Received from: "+packet.getAddress()); //显示信息源地址
System.out.println(message); //显示服务器返回信息
socket.close(); //关闭端口
}
catch (Exception ex){
ex.printStackTrace(); //输出出错信息
}
}
public static void main(String[] args){
new UDPClientDemo();
}
}
这个是服务器
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;
public class UDPServerDemo extends JFrame{
int port=2345; //端口号
public UDPServerDemo(){
try{
byte[] buffer=new byte[256]; //缓冲区数组
DatagramSocket socket=new DatagramSocket(port); //实例化数据报Socket
DatagramPacket packet;
System.out.println("Server start..."); //输出运行信息
while (true){
packet=new DatagramPacket(buffer,buffer.length); //实例化数据报
socket.receive(packet); //接受请求
InetAddress target=packet.getAddress();
System.out.println("Received from"+target); //输出请求地址
int port=packet.getPort(); //得到接收端口
byte[] message="This is server,Who are you?".getBytes(); //服务器返回信息
packet=new DatagramPacket(message,message.length,target,port); //实例化数据报
socket.send(packet); //发送数据报
}
}
catch (Exception ex){
ex.printStackTrace(); //输出出错信息
}
}
public static void main(String[] args){
new UDPServerDemo();
}
}
这个其实还可以简化 做成最简单的 但是这个两个代码里面你可以学习到很多知识 很经典的代码
大神,我是路过来膜拜您的,请收下我的膝盖。
#18516871835#
用JAVA如何实现GUI的聊天室?只需实现基本的聊天室功能即可.希望给出服务器源代码和客户端源代码. - ******
#人风# 我也是初学者,现在在做聊天室,我用到的技术有 swing,socket,io,thread 现在能实现私聊和公聊的功能,还在完善中,
#18516871835#
java怎么简单实现多人聊天室 - ******
#人风# 你服务器端肯定保存着每一个客户端的输入输出流(inputStream/outputStream),你需要跟谁私聊,就把消息写到对应的输出流.
#18516871835#
Java 聊天小程序 - ******
#人风# 客户端:package clientsocket; import java.io.*; import java.net.*; import java.awt.*; import java.awt.event.*; public class Main { private Socket s; private DataInputStream dis; private DataOutputStream dos; private TextArea ta; private TextField tf; ...
#18516871835#
做java QQ聊天室的时候,多个客户端怎么通过服务器进行交互? - ******
#人风# 把服务器看成是文件中转站就行了,从客户端接收消息,再转发到目标客户端.source server destination
#18516871835#
Java聊天室该怎么设计? - ******
#人风# 看cs还是bs模式的了,如果是bs就很简单了,每次提交留言,然后放在公共变量中,每隔几秒就重新刷新一次,把公共变量中的信息刷出来.这个有很多种变形,比如ajax实现不刷新的更新,或者http长连接实现服务器推数据.cs的画,自己写...
#18516871835#
JAVA聊天室服务器 问题 - ******
#人风# 可以用List来保存,当接收当客户连接的信息时,就保存客户端的套接字 根据此套接字实例化一个输出流并保存: public class userinfo{Socket clientsocketObjectOutputStream oos } 服务端创建时: ArrayList<userinfo> userlist=new ArrayList<userinfo>(); 接收到连接信息时: userlist.clientsocket=当前接入服务端的套接字 userlist.oos=(ObjectOutputStream)服务端套接字.getOutputStream
#18516871835#
求 高手 我可不可以在花生壳上 运行我用JAVA编写的一个聊天小程序的服务端 - ******
#人风# 花生壳只是提供了动态域名的绑定,怎么运行你的东西?你的东西要有服务器才行啊,用自己的电脑就可以啊
#18516871835#
JAVA聊天室小程序服务器端怎么实现踢人功能!! - ******
#人风# 这个就是服务器的一个接口,调用服务器的一个踢人的方法,服务器把此人从聊天列表中删除了就好了
#18516871835#
怎么用java实现聊天室的私聊功能 - ******
#人风# 不知道你们群聊是不是这么实现的?一个用户群聊/一个用户要看到所有人发的信息,都需要通过服务器来转发.而群聊就是服务器把每一个用户说的话都转发给你看.那么私聊就是 客户端发送 ip/私聊的话,发给服务器 服务器按一定格式进行拆分.拆完成单独的 IP和 私聊的话.然后发送给那个指定Ip.
#18516871835#
用Java编写网络聊天室:注册、登录、聊天等功能. - ******
#人风# 在客户端运行Java不是一个解决问题的好方法,最好用java+ajax实现,非常简单.让java在服务器端对数据进行调用和处理,在前端,通过JavaScript 对java程序进行调用,并取回得到的数据,这种网页无刷新异步传输,现在非常流行.