社区
网络编程
帖子详情
用同一个UDP Socket来接收和发送数据,合理吗?
19901011
2003-11-27 09:22:33
用同一个UDP Socket同时来收发!这样做与分开两个Socket有比较大的区别吗?
主要用来发音视频数据!
...全文
509
6
打赏
收藏
用同一个UDP Socket来接收和发送数据,合理吗?
用同一个UDP Socket同时来收发!这样做与分开两个Socket有比较大的区别吗? 主要用来发音视频数据!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tob
2003-11-27
打赏
举报
回复
如果你是想跨两个不同的局域网,只能用一个socket(分开收不到的)
如果你是做局域网的通信,可以采用两个socket(效率高,代码清晰)
19901011
2003-11-27
打赏
举报
回复
好,测试一下吧!
xiaohyy
2003-11-27
打赏
举报
回复
建议分开,提高效率
danfeng
2003-11-27
打赏
举报
回复
我的建议是 音视频数据分开发送
用2个socket 一个负责收发音频数据 一个负责收发视频数据
再分细了就没有什么意思了 socket本身就是双工的
19901011
2003-11-27
打赏
举报
回复
up
sevencat
2003-11-27
打赏
举报
回复
我有一个不怎么好的解决方案。
一个套接字专门来接收。
另外一个开原始套接字,专门发送,发送的时候把端口设为你第一个套接字的端口。这样从外面看起来就好像你一个端口在同时发送和接收了。
java网络编程技术课程设计.doc
TCP网络通信程序设计与实现 摘要: 目前,基于TCP/IP协议的网络得到了普及和飞速的发展,Windows下的网络程序越来越 显得重要。利用TCP/IP协议提供的编程接口———
Socket
(套接字)可以开发出TCP/IP应用程 序。正确的使用Windows
Socket
,就可使得不同地址下的进程得以在Windows环境下顺利进 行各种网络通信,因此研究WinSock更有意义。而基于TCP/IP协议网络环境下的应用程序 是通过客户机/服务器(C/S)作用方式模式在网络(应用)编程界面实现的。本次实验采用 java语言设计一个基于C/S模式的TCP网络通讯程序。实现客户端与服务器端之间的数据 传输。 关键词:TCP/IP 网络通信 java C/S(client/server)模式 1引言 计算机网络通信是以计算机为信息
接收
终端,融合了计算机网络技术的通信方式。计 算机网络通信顺畅的重要保障就是网络建设。同时,网络建设也是计算机应用普及的基本 条件,是推动经济社会发展的根本。因此,了解计算机网络知识及网络编程技巧对于IT技 术人员是必备技术之一。 2 基础理论和技术 2.1网络基础知识 网络上的计算机要互相通信,必须遵循一定的协议。目前使用最广泛的网络协议是I nternet上所使用的TCP/IP协议。 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地 确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制 ,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。 网络编程主要解决两大问题:(1)如何准确的定位网络上一台或多台主机 (2)找到主机后如何可靠高效的进行数据传输。 目前较流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务 器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般 作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响 应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。 IP地址:标识计算机等网络设备的网络地址,由四个8位的二进制数组成,中间以小数点 分隔。 比如166.111.136.3 , 166.111.52.80 主机名(hostname):网络地址的助记名,按照域名进行分级管理。 端口号(port number):网络通信时同一机器上的不同进程的标识。 服务类型(service):网络的各种服务。 在Internet上IP地址和主机名是一一对应的,通过域名解析可以由主机名得到机器的IP ,由于机器名更接近自然语言,容易记忆,所以使用比IP地址广泛,但是对机器而言只有 IP地址才是有效的标识符。 光用主机名或IP地址来标识这么多个进程显然是不够的,只有通过主机名或IP地址和端口 号的组合才能唯一的确定网络通讯中的对象:进程。服务类型是那些已经被TCP/IP协议 标准化的在TCP应用层上的应用,一般都是网络服务器(软件)。可以编写自己的基于网 络的服务器,但都不能被称作标准的服务类型。 两类传输协议:TCP/
UDP
在TCP/IP的传输层同时存在TCP和
UDP
两个协议。 TCP(Tranfer Control Protocol): 一种面向连接(可靠)的传输控制协议。通过TCP协议传输,得到的是一个顺序、无差错的 数据流。发送方和
接收
方成对的两个
socket
之间必须建立连接,以便在TCP协议的基础上 进行通信,当一个
socket
(通常都是server
socket
)等待建立连接时,另一个
socket
可以要求进行连接,一旦这两个
socket
连接起 来,它们就可以进行双向数据传输,双方都可以进行发送或
接收
操作。
UDP
(User Datagram Protocol): 一种无连接(不可靠)的用户数据报协议,每个数据报都是一个独立的信息,包括完整的 源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地, 到达目的地的时间以及内容的正确性都是不能被保证的。 比较TCP\Datagram: TCP——可靠,传输大小无限制,但是需要连接建立时间,差错控制开销大。
UDP
——不可靠,差错控制开销较小,传输大小限制在64K以下,不需要建立连接。 TCP虽然有诸多优点,但是也有缺点:TCP传输的效率不如
UDP
高,对数据内容正确性的检验 要占用计算机处理时间和网络带宽,此外在许多应用中并不需要保证严格的传输可靠性, 比如视频会议系统,这种情况下显然使用
UDP
会更
合理
一些。 2.2 java网络编程技术 Java语言是在网络环境下诞生的,所以Java语言虽然不能说是对于网络编程的支持最好 的语言,但是必须说是一种对于网络编程提供良好支持的
java使用
Socket
类
接收
和
发送数据
java使用
Socket
类
接收
和
发送数据
网络应用分为客户端和服务端两部分,而
Socket
类是负责处理客户端通信的Java类。通过这个类可以连接到指定IP或域名的服务器上,并且可以和服务器互相发送和接受数据。在本文及后面的数篇文章中将详细讨论
Socket
类的使用,内容包括
Socket
类基础、各式各样的连接方式、get和set方法、连接过程中的超时以及关闭网络连接等。 在本文中,我们将讨论使用
Socket
类的基本步骤和方法。一般网络客户端程序在连接服务程序时要进行以下三步操作。 连接服务器 发送和
接收
数据
C语言
socket
UDP
广播的发送和
接收
示例
server.c通过
UDP
广播的形式向网段的指定端口发送广播信息 client.c绑定到指定端口,并阻塞
接收
广播内容然后打印出来 程序非常简单,不过有一点需要注意,那就是setsockopt()函数的使用。使用不当很可能会出问题。通过SO_REUSEADDR选项可以实现端口号的重用,SO_BROADCAST选项表示要发送的是广播信息,optval参数要给
合理
的初始值(这里是1),否则很可能会发...
网络编程:
UDP
socket
本文基于
UDP
协议实现了简单的回声服务器,并在此基础上应用线程实现了简单的群聊功能。
TCP和
UDP
一、
UDP
UDP
是一种不可靠,无连接的服务。在发送方一侧,直接将来自应用进程的数据交给网络层,在
接收
方直接将网络层的数据交给应用进程。
UDP
仅做了运输协议最少的工作,除了多路复用/分解功能及少量的差错检测外,几乎没有对IP增加别的东西。同时,
UDP
在发送报文段之前,发送方和
接收
方的运输层实体之间并没有进行握手,因此
UDP
不需要在发送方和
接收
方之间建立连接也可以发送。 1.1
UDP
的报文结构 ...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章