java中怎么用tcp/ip将服务器的消息发送给多个用户
关注:253 答案:2 mip版
解决时间 2021-01-31 01:26
提问者╬═掵中注定
2021-01-30 20:03
java中怎么用tcp/ip将服务器的消息发送给多个用户
最佳答案
二级知识专家往事叫我剪短发
2021-01-30 20:09
你服务器accept方法后是不是会得到一个Socket
为这个Socket(是通过这个Socket和客户端的Socket进行沟通)分配一个服务
我是这么用的ServerThread tt=new ServerThread(socket);
class ServerThread
{
private Socket so;
public ServerThread(Socket s)
{
this.so=s;
}
public void send()
{
}
public void receive()
{
Thread re=new Thread()
{
public void run()
{
}
}
}
}
相当于你用手机拨打人工服务,会给你分配一个客服
为这个Socket分配后,写一个发送方法,和一个接收方法(线程)
然后把ServerThread tt=new ServerThread(socket);中的tt保存到集合中去,要单独给某个发送
就从集合中取出来.send();这个方法应该带个参数,把消息对象传过去就是
全部回答
1楼花落浅殇
2021-01-30 20:52
先来介绍下网络协议:
tcp/ip
transmission control protocol 传输控制协议
internet protocol 互联网协议
udp
user datagram protocol 用户数据协议
连接协议:
分为:
面向连接协议: connection oriented protocol
非连接协议: connectionless protocol
1).面向连接协议是指两台电脑在传输数据前,先会建立一个专属的连接。就如电信局的交换机会为打电话双方提供专属连接一样。
internet上的面向连接协议就是tcp/ip
特点:确认回应;分组序号;流量控制。
tcp/ip属于可靠性传输,适合不容许有传输错误的网络程序设计使用
2).非连接协议:无专属连接,无分组,容错,距离短,可同时对多台电脑进行数据传输
internet上的非连接协议就是udp
tcp在网络通信上有极强的生命力,例如远程连接(telnet)和文件传输(ftp)都需要不定长度的数据被可靠地传输。相比之下udp操作简单,而且仅需要较少的监护,因此通常用于局域网高可靠性的分散系统中client/server应用程序。
socket 是程序与网络间的一种接口,大部分网络应用程序都是点对点的,所谓点就是服务器端和客户端所执行的程序。socket是用来接收和传送分组的一个端点。
java的socket编程要用到java.net包,最常用的是net包下的6个类:inetaddress(互联网协议 (ip) 地址)类,socket(套接字)类,serversocket(套接字服务器)类,datagramsocket(发送和接收数据报包的套接字)类,datagrampacket(数据报包)类,multicastsocket(多播数据报套接字类用于发送和接收 ip 多播包)类,其中inetaddress、socket、serversocket类是属于tcp面向连接协议,datagramsocket、datagrampacket和multicastsocket类则属于udp非连接协议的传送类。
本项目因为使用tcp/ip协议,主要用到socket和serversocket类
项目代码如下
package com.sse.monitor.serv;
import java.io.datainputstream;
import java.io.ioexception;
import java.io.inputstream;
import java.io.outputstream;
import java.io.bufferedoutputstream;
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
→点此我要举报以上信息!←
推荐资讯
大家都在看