1、服务器的UDP通讯是什么?
用户数据文报协议 (UDP) 是一个无连接协议。跟 TCP 的操作不同,计算机并不建立连接。另外 UDP 应用程序可以是客户机,也可以是服务器。
为了传输数据,首先要设置客户计算机的 LocalPort 属性。然后,服务器计算机只需将 RemoteHost 设置为客户计算机的 Internet 地址,并将 RemotePort 属性设置为跟客户计算机的 LocalPort 属性相同的端口,并调用 SendData 方法来着手发送信息。于是,客户计算机使用 DataArrival 事件内的 GetData 方法来获取已发送的信息。
2、Java的udp客户、服务器通信,有界面,用ip地址连接,服务器能保存通信的信息到一个文件夹
服务端和客户端代码:
public class Main {
public static void main(String[] args) throws Exception {
UDPServer server = new UDPServer();
server.start(6666, "logs/udpserver.txt");
Thread.sleep(500);
UDPClient client = new UDPClient();
client.start(6666);
for(int i = 0; i < 10; i++) {
client.send("Hello: " + i + "\n");
}
client.stop();
Thread.sleep(500);
server.stop();
}
}
class UDPServer implements Runnable{
private DatagramSocket ds;
private boolean running = false;
private Thread thread = null;
private FileOutputStream fos;
public void start(int port, String logFilename) throws Exception{
if(!running) {
running = true;
ds = new DatagramSocket(new InetSocketAddress("127.0.0.1", 6666));
fos = new FileOutputStream(logFilename);
thread = new Thread(this);
thread.start();
}
}
@Override
public void run() {
while(running) {
try {
byte[] buf = new byte[2048];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
ds.setSoTimeout(500);
try {
ds.receive(dp);
fos.write(dp.getData(), 0, dp.getLength());
} catch (SocketTimeoutException e) {
}
} catch (IOException e) {
e.printStackTrace();
break;
}
}
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
ds.close();
}
public void stop() {
if(running) {
running = false;
thread.interrupt();
}
}
}
class UDPClient{
private DatagramSocket ds;
public void start(int port) throws Exception{
ds = new DatagramSocket(0);
ds.connect(new InetSocketAddress("127.0.0.1", 6666));
}
public void send(String message) {
byte[] data = message.getBytes();
DatagramPacket dp = new DatagramPacket(data, data.length);
try {
ds.send(dp);
} catch (IOException e) {
e.printStackTrace();
}
}
public void stop() {
if (ds != null) {
ds.close();
}
}
}
界面代码你自己写吧
3、vlc 1.0.3版本怎样设置udp端口和服务器地址?
我可以告诉你,采纳我
4、使用udp协议的服务器是哪种类型?
ARP(Address Resolution Protocol)地址解析协议
它是用于映射计算机的物理地址和临时指定的网络地址。启动时它选择一个协议(网络层)地址,并检查这个地址是否已经有别的计算机使用,如果没有被使用,此结点被使用这个地址,如果此地址已经被别的计算机使用,正在使用此地址的计算机会通告这一信息,只有再选另一个地址了。
SNMP(Simple Network Management P)网络管理协议
它是TCP/IP协议中的一部份,它为本地和远端的网络设备管理提供了一个标准化途径,是分布式环境中的集中化管理的重要组成部份。
BGP4(Border Gateway Protocol Vertion 4)边界网关协议-版本4
它是用于在自治网络中网关主机(每个主机有自己的路由)之间交换路由信息的协议,它使管理员能够在已知的路由策略上配置路由加权,可以更方便地使用无级内部域名路由(CIDR),它是一种在网络中可以容纳更多地址的机制,它比外部网关协议(EGP)更新。BGP4经常用于网关主机之间,主机中的路由表包括了已知路由的列表,可达的地址和路由加权,这样就可以在路由中选择最好的通路了。BGP在局域网中通信时使用内部BGP(IBGP),因为IBGP不能很好工作。
DHCP(Dynamic Host Configuration Protocol)动态主机配置协议
它是在TCP/IP网络上使客户机获得配置信息的协议,它是基于BOOTP协议,并在BOOTP协议的基础上添加了自动分配可用网络地址等功能。这两个协议可以通过一些机制互操作。DHCP协议在安装TCP/IP协议和使用TCP/IP协议进行通迅时,必须配置IP地址、子网掩码、缺省网关三个参数,这三个参数可以手动配置,也可以使用DHCP自动配置。
FTP(File Transfer Protocol)文件传输协议
它是一个标准协议,是在计算机和网络之间交换文件的最简单的方法。象传送可显示文件的HTTP和电子邮件的SMTP一样,FTP也是应用TCP/IP协议的应用协议标准。FTP通常用于将网页从创作者上传到服务器上供人使用,而从服务器上下传文件也是一种非常普遍的使用方式。作为用户,您可以用非常简单的DOS界面来使用FTP,也可以使用由第三方提供的图形界面的FTP来更新(删除,重命名,移动和复制)服务器上的文件。现在有许多服务器支持匿名登录,允许用户使用FTP和ANONYMOUS作为用户名进行登录,通常可使用任何口令或只按回车键。
HDLC(High-Level Data Link Control)高层数据链路协议
它是一组用于在网络结点间传送数据的协议。在HDLC中,数据被组成一个个的单元(称为帧)通过网络发送,并由接收方确认收到。HDLC协议也管理数据流和数据发送的间隔时间。HDLC是在数据链路层中最广泛最使用的协议之一。现在作为ISO的标准,HDLC是基于IBM的SDLC协议的,SDLC被广泛用于IBM的大型机环境之中。在HDLC中,属于SDLC的被称为通响应模式(NRM)。在通常响应模式中,基站(通常是大型机)发送数据给本地或远程的二级站。不同类型的HDLC被用于使用X.25协议的网络和帧中继网络,这种协议可以在局域网或广域网中使用,无论此网是公共的还是私人的。
HTTP1.1(Hypertext Transfer Protocol Vertion 1.1)超文本传输协议-版本1.1
它是用来在Internet上传送超文本的传送协议。它是运行在TCP/IP协议族之上的HTTP应用协议,它可以使浏览器更加高效,使网络传输减少。任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用用户请求。您的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议
它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。
ICMP(Internet Control Message Protocol)Internet控制信息协议
它是一个在主机和网关之间消息控制和差错报告协议。ICMP使用IP数据报,但消息由TCP/IP软件处理,对于应用程序使用者是不可见的。在被称为Catenet的系统中,IP协议被用作主机到主机的数据报服务。网络连接设备称为网关。这些网关通过网关到网关协议(GGP)相互交换用于控制的信息。通常,赡养或目的主机将和源主机通信,例如,为报告在数据报过程中的错误。为了这个目的才使用了ICMP,它使用IP做于底层支持,好象它是一个高层协议,而实际上它是IP的一部分,必须由其它IP模块实现。ICMP消息在以下几种情况下发送:当数据报不能到达目的地时,当网关的已经失去缓存功能,当网关能够引导主机在更短路由上发送。IP并非设计为设计为绝对可靠,这个协议的目的是为了当网络出现问题的时候返回控制信息,而不是使IP协议变得绝对可靠,并不保证数据报或控制信息能够返回。一些数据报仍将在没有任何报告的情况下丢失。
IPv6(Internet Protocol Version 6)Internet协议-版本6
它是Internet协议的最新版本,已作为IP的一部分并被许多主要的操作系统所支持。IPv6也被称为“Ipng”(下一代IP),它对现行的IP(版本4)进行重大的改进。使用IPv4和IPv6的网络主机和中间结点可以处理IP协议中任何一层的包。用户和服务商可以直接安装IPv6而不用对系统进行什么重大的修改。相对于版本4新版本的最大改进在于将IP地址从32位改为128位,这一改进是为了适应网络快速的发展对IP地址的需求,也从根本上改变了IP地址短缺的问题。简化IPv4首部字段被删除或者成为可选字段,减少了一般情况下包的处理开销以及IPv6首部占用的带宽。改进IP 首部选项编码方式的修改导致更加高效的传输,在选项长度方面更少的限制,以及将来引入新的选项时更强的适应性。加入一个新的能力,使得那些发送者要求特殊处理的属于特别的传输流的包能够贴上标签,比如非缺省质量的服务或者实时服务。为支持认证,数据完整性以及(可选的)数据保密的扩展都在IPv6中说明。本文描述IPv6基本首部以及最初定义的IPv6 扩展首部和选项。还将讨论包的大小问题,数据流标签和传输类别的语法,以及IPv6对上层协议的影响。IPv6 地址的格式和语法在其它文章中单独说明。IPv6版的 ICMP 是所有IPv6应用都需要包含的。
OSPF(Open Shortest Path First)开放最短路优先
OSPF是用于大型自主网络中替代路由信息协议的协议标准。象RIP一样,OSPF也是由IETF设计用作内部网关协议族中的一个标准。在使用OSPF时网络拓朴结构的变化可以立即在路由器上反映出来。不象RIP,OSPF不是全部当前结点保存的路由表,而是通过最短路优先算法计算得到最短路,这样可以降低网络通信量。如果您熟悉最短路优先算法就会知道,它是一种只关心网络拓朴结构的算法,而不关心其它情况,如优先权的问题,对于这一点,OSPF改变了算法使它根据不同的情况给某些通路以优先权。
5、QQ登录服务器的TCP、UDP类型分别是什么意思?
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快
现在Internet上流行的协议是TCP/IP协议,该协议中对低于1024的端口都有确切的定义,他们对应着Internet上一些常见的服务。这些常见的服务可以分为使用TCP端口(面向连接)和使用UDP端口(面向无连接)两种。
说到TCP和UDP,首先要明白“连接”和“无连接”的含义,他们的关系可以用一个形象地比喻来说明,就是打电话和写信。两个人如果要通话,首先要建立连接——即打电话时的拨号,等待响应后——即接听电话后,才能相互传递信息,最后还要断开连接——即挂电话。写信就比较简单了,填写好收信人的地址后将信投入邮筒,收信人就可以收到了。从这个分析可以看出,建立连接可以在需要痛心地双方建立一个传递信息的通道,在发送方发送请求连接信息接收方响应后,由于是在接受方响应后才开始传递信息,而且是在一个通道中传送,因此接受方能比较完整地收到发送方发出的信息,即信息传递的可靠性比较高。但也正因为需要建立连接,使资源开销加大(在建立连接前必须等待接受方响应,传输信息过程中必须确认信息是否传到及断开连接时发出相应的信号等),独占一个通道,在断开连接钱不能建立另一个连接,即两人在通话过程中第三方不能打入电话。而无连接是一开始就发送信息(严格说来,这是没有开始、结束的),只是一次性的传递,是先不需要接受方的响应,因而在一定程度上也无法保证信息传递的可靠性了,就像写信一样,我们只是将信寄出去,却不能保证收信人一定可以收到。
TCP是面向连接的,有比较高的可靠性,
一些要求比较高的服务一般使用这个协议,如FTP、Telnet、SMTP、HTTP、POP3等,而UDP是面向无连接的,使用这个协议的常见服务有DNS、SNMP、QQ等。对于QQ必须另外说明一下,QQ2003以前是只使用UDP协议的,其服务器使用8000端口,侦听是否有信息传来,客户端使用4000端口,向外发送信息(这也就不难理解在一般的显IP的QQ版本中显示好友的IP地址信息中端口常为4000或其后续端口的原因了),即QQ程序既接受服务又提供服务,在以后的QQ版本中也支持使用TCP协议了。
6、UDP服务器是做什么用的?
UDP服务器,就是首发数据,进行数据处理的。与TCP不同的是不用建立连接,直接调用recvfrom来收包。
开始就是基本的socket初始化地址什么的。
要求多个线程处理客户端命令,那recvfrom收包后,考虑把客户端的地址信息保存,便于sendto,对接收的数据包,交给线程进行处理,每个线程可以向一块共享内存、队列里写入收到的数据和对应的客户端信息,每次写的时候对这块共享资源加锁,多个线程对共享资源读是加锁,读完解锁,并开始处理数据。
处理完,用sendto发回去。
不是什么大项目。小程序而已。
7、android UDP 编程 服务器端如何获取服务器端的IP地址,然后发送给客户端
既然是UDp 应该是 客户端能获取吧?
DatagramSocket server = new DatagramSocket(3236);
byte[] buf = new byte[1024];
DatagramPacket packet = new DatagramPacket(buf, buf.length);
System.out.println("服务器已经启动");
String sendMessage132 = "";
String sendMessage129 = "";
int port132 = 0;
int port129 = 0;
InetAddress address132 = null;
InetAddress address129 = null;
for (;;) {
server.receive(packet);
String receiveMessage = new String(packet.getData(), 0,
packet.getLength());
System.out.println(receiveMessage);
// 接收到clientA
if (receiveMessage.contains("132")) {
port132 = packet.getPort();
address132 = packet.getAddress();
sendMessage132 = "host:" + address132.getHostAddress()
+ ",port:" + port132;
}
地址 端口 都能通过 接收到的packet 获取, 不知道我说的跟你想要的一样不
8、udp服务器怎么获取一个客户端的地址
以VB为例,在udpWinSock_DataArrival事件中,输入下面的代码,即可获取客户端IP,发送消息给客服端。,如果是客户端,需要把该IP地址转发给服务器。
Private Sub udpWinSock_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
Dim Strs As String
udpWinSock.GetData strData, vbString '接收到客户端信息
udpWinSock.RemoteHost = udpWinSock.RemoteHostIP '获取客服端的IP,并将要对话的客服端ip设置为此IP
'立即发送文本给客户端
Strs = “已接收成功您的信息:" & strData
udpWinSock.SendData Strs '发送回复信息给当前客户端
End Sub
9、UDP代理服务器怎么判断来自目标服务器的数据应当发往哪个客户端?
代理服务所起的copy是一个桥的作用,它是网络信息的中转站。在网络中应用代理服务一般是基于以下几个原因:
1 充分利用IP地址资源。在局域网中,一般对外的IP地址都是非常有限的,为了保证局域网内部的主机都能够访问互联网资源,通过网络代理就可以实现。
2 能够保证网络安全。网络代理可以充当内部网和互联网之间的防火墙,通过过滤IP地址,限定某些IP地址对外部资源的访问。
3 能够有效地隐藏自己的IP地址和主机名。由于所有对外网的请求都是通过代理服务器实现的,所以目的主机只能知道代理服务器的IP地址。
4 提高网络速度。通常代理服务器都设有一个较大的硬盘缓冲区,它存储界数据,当你再访问相同的数据时,则可以直接从缓冲区中取出信息,从而提高访问速度。一般都用的是小鸟云服务器,稳定性以及速度很快感觉挺好的。