udp编程Java语言应用中实现UDP协议编程的方法?

udp编程  时间:2021-08-30  阅读:()

CSocket之UDP编程

#include <stdio.h> #include <Winsock2.h> #ment(lib,"ws2_32.lib") void main() { WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 1, 1); err = WSAStartup( wVersionRequested, &wsaData ); if ( err != 0 ) { return; } if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) { WSACleanup( ); return; } SOCKET sersocket=socket(AF_INET,SOCK_DGRAM,0); SOCKADDR_IN seraddr; seraddr.sin_addr.S_un.S_addr=htonl(INADDR_ANY); seraddr.sin_family=AF_INET; seraddr.sin_port=htons(5000); bind(sersocket,(SOCKADDR*)&seraddr,sizeof(SOCKADDR)); SOCKADDR clientaddr; int len=sizeof(SOCKADDR); char revbuf[100]; char sendbuf[100]; recvfrom(sersocket,revbuf,100,0,(SOCKADDR*)&clientaddr,&len); printf("%s ",revbuf); scanf("%s",&sendbuf); sendto(sersocket,sendbuf,strlen(sendbuf)+1,0,(SOCKADDR*)&clientaddr,len); closesocket(sersocket); WSACleanup(); } #include <stdio.h> #include <Winsock2.h> #ment(lib,"ws2_32.lib") void main() { WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 1, 1); err = WSAStartup( wVersionRequested, &wsaData ); if ( err != 0 ) { return; } if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) { WSACleanup( ); return; } SOCKET sockclient=socket(AF_INET,SOCK_DGRAM,0); SOCKADDR_IN clientaddr; clientaddr.sin_addr.S_un.S_addr=_addr("127.0.0.1"); clientaddr.sin_family=AF_INET; clientaddr.sin_port=htons(5000); int len=sizeof(SOCKADDR); char revbuf[100]; char sendbuf[100]; printf("请输入内容: "); while(1) { scanf("%s",&sendbuf); sendto(sockclient,sendbuf,strlen(sendbuf)+1,0,(SOCKADDR*)&clientaddr,len); recvfrom(sockclient,revbuf,100,0,(SOCKADDR*)&clientaddr,&len); printf("%s ",revbuf); } closesocket(sockclient); WSACleanup(); } 大同小异,CSocket只是进行了封装而已,原理是一样的,编程要思路灵活才行。

在MFC中的UDP程序怎么编写用CAsyncSocket或者CSocket?

呵呵整一个SOCKET盲 还一上来就要用封装好的MFC类,哀分少啊,帮你说说吧 建立一个新类从CAsyncSocket public 派生来,叫 MySock,然后在CXXXDlg的头文件加个变量 MySock m_socket; 然后 CXXXDlg中的INITDIALOG初始化, m_socket.Create(0,SOCK_DGRAM); 使用UDP恩首先你要考虑到服务器端也是使用UDP的协议的,然后就可以调用 m_socket.SendTo(buffer,strlen(buffer),3333,"xxx.xxx.xxx.xxx"); 3333是服务器等待接收数据的端口,XXX.XXX.XXX.XXX 是服务器的IP,恩域名也可以...如果服务器是TCP的话要用Connect连接然后用Send方法发送数据,使用完调用close关闭SOCKET,也疴可以不关,类销毁时会自动释放所使用资源,恩至于要等待接收数据,UDP需要BIND,可以在CREATE的时候就绑定上,而TCP不光要绑定上还要listen监听,TCP有连接来后要用ept接收连接,给它一个新的 CAsyncSocket,呵呵就说这么点,对了在BOOL CXXXApp::InitInstance()的初始化函数中添加 if (!AfxSocketInit()) { AfxMessageBox(IDP_SOCKETS_INIT_FAILED); return FALSE; } 还有头文件 #include <afxsock.h> // MFC socket extensions .或者你在创建工程时选择上WINSOCKET, 恩对了CSocket是堵塞的套接字,需要同步很强的工作再选择他,一般使用异步的,给分!

TCP 和 UDP 在socket编程中的区别

一、TCP与UDP的区别 基于连接与无连接   对系统资源的要求(TCP较多,UDP少)   UDP程序结构较简单   流模式与数据报模式   TCP保证数据正确性,UDP可能丢包   TCP保证数据顺序,UDP不保证   部分满足以下几点要求时,应该采用UDP 面向数据报方式 网络数据大多为短消息   拥有大量Client   对数据安全性无特殊要求   网络负担非常重,但对响应速度要求高   具体编程时的区别 socket()的参数不同   UDP Server不需要调用listen和ept   UDP收发数据用sendto/recvfrom函数   TCP:地址信息在connect/ept时确定   UDP:在sendto/recvfrom函数中每次均 需指定地址信息   UDP:shutdown函数无效

急求C语言编写的基于UDP的点对点的聊天程序代码

UDP啊。



服务器: socket(AF_INET, SOCK_DATEGRAM,0); 初始化地址。

bind一下。

然 recv或者 sendto。

客户端: 一样。

socket因为UPD。

直接conect一样。

sendto就行了。

注意 :1.聊天 需要 IO多路复用。

select 或者 poll。

可以实现 2. 群聊。



其实就是一个 发送给多个。



把IP往出口 轮询就行。

3.添加好用。

登陆?。

这个没界面。

后台把这些存到数据库里。

启动的时候。

seletc出来。



你给多少分。

都没人给你写的。

自己百度吧。





C++的UDP编程,设置广播地址为255.255.255.255,广播不出去

看起来不像是代码有错 而更像这两台机器的设置有问题。

几个问题: 1、从别的机器上发出的广播,这两台机器能收到吗? 2、从这两台机器向255.255.255.255发广播,如果在它们上面运行wireshark,能抓到UDP包吗? 3、这两台机器的网卡没有被设成promiscuous mode吧? 4、把这两台机器的网卡和其他工作的机器的网卡换了看看什么结果? 5、如果你的机器跑windows 7,可以在这两台机器和其他机器上用work and connection center里面自带work map看看各台机器之间是怎样连接的。

Java语言应用中实现UDP协议编程的方法?

//发送端SocketSendFile.java import java.io.*; import .*; public class SocketSendFile { public static final int SER_PORT=666; public static final int CLI_PORT=8484; public static final String SER_IP="192.168.0.35"; public static int bufSize = 1024; public static byte] mess = new bytebufSize]; //建立Socket引用 public static DatagramSocket dp; public static void main(String] args) throws Exception { dp = new DatagramSocket(SER_PORT); //调用构造函数SocketSendFile,并传递参数args0](所要传输的文件名) SocketSendFile(args0]); } public static void SocketSendFile(String file2) throws Exception { //定义一个计数器 int pos =0; //设置写入流 FileInputStream fis = new FileInputStream(file2); BufferedInputStream bis = new BufferedInputStream(fis); DataInputStream dis = new DataInputStream(bis); int i; do { i = dis.read(); int j=0; while (j<1024 & i != -1) { messpos++] = (byte) i; i=dis.read(); j++; } dp.send(new DatagramPacket(mess,pos,Address.getByName(SER_IP),CLI_PORT)); } while (i != -1); fis.close(); } } //接收端SocketReceiveFile.java import .*; import java.io.*; public class SocketReceiveFile { public static int bufSize=1024; public static byte] mess=new bytebufSize]; public static DatagramSocket dp; public static final int SER_PORT=8484; public static void main(String] args) throws Exception { dp = new DatagramSocket(SER_PORT); SocketReceiveFile(args0]); } public static void SocketReceiveFile(String file1) throws Exception { FileOutputStream fos = new FileOutputStream(file1); BufferedOutputStream bos = new BufferedOutputStream(fos); DataOutputStream dos = new DataOutputStream(bos); int i; DatagramPacket p = new DatagramPacket(mess,mess.length); while(true) { boolean j=false; while (p.getData().length != 0) { dos.write(p.getData()); dp.receive(p); j=true; } // System.out.println(new String(p.getData(),0,p.getLength())); if (j) System.out.println("文件传送完毕."); } // fos.close(); } }

JustHost俄罗斯VPS有HDD、SSD、NVMe SSD,不限流量低至约9.6元/月

justhost怎么样?justhost服务器好不好?JustHost是一家成立于2006年的俄罗斯服务器提供商,支持支付宝付款,服务器价格便宜,200Mbps大带宽不限流量,支持免费更换5次IP,支持控制面板自由切换机房,目前JustHost有俄罗斯6个机房可以自由切换选择,最重要的还是价格真的特别便宜,最低只需要87卢布/月,约8.5元/月起!总体来说,性价比很高,性价比不错,有需要的朋友可以...

RAKsmart含站群服务器/10G带宽不限流量首月半价

RAKsmart 商家估摸着前段时间服务器囤货较多,这两个月的促销活动好像有点针对独立服务器。前面才整理到七月份的服务器活动在有一些配置上比上个月折扣力度是大很多,而且今天看到再来部分的服务器首月半价,一般这样的促销有可能是商家库存充裕。比如近期有一些服务商挖矿服务器销售不好,也都会采用这些策略,就好比电脑硬件最近也有下降。不管如何,我们选择服务器或者VPS主机要本着符合自己需求,如果业务不需要,...

Hostinger 限时外贸美国主机活动 低至月12元且赠送1个COM域名

Hostinger 商家我们可能一些新用户不是太熟悉,因为我们很多新人用户都可能较多的直接从云服务器、独立服务器起步的。而Hostinger商家已经有将近十年的历史的商家,曾经主做低价虚拟主机,也是比较有知名度的,那时候也有接触过,不过一直没有过多的使用。这不这么多年过去,Hostinger商家一直比较稳妥的在运营,最近看到这个商家在改版UI后且产品上也在活动策划比较多。目前Hostinger在进...

udp编程为你推荐
公告格式通知格式??高级工程师证书高级工程师证书是什么样子的,内容是什么格式的? 一般是社会授予还是单位授予?计算机网络的定义计算机网络概念,特点?显示系统平视显示系统是什么网络地址分类网络位置的位置分类色空间相机、PS里色彩空间该怎样设置?什么是机器码电脑的机器码是什么?网络营销讲师北京网络营销培训,纵横电商老师怎么样?2g内存条2G的内存条和8G的内存条有什么不同封包是什么dnf封包是什么
百度域名 域名城 windows虚机 谷歌域名邮箱 80vps 香港加速器 singlehop 主机合租 韩国网名大全 免费个人空间申请 dux qingyun 韩国名字大全 刀片式服务器 idc是什么 vip域名 厦门电信 空间购买 免费网络空间 国外免费云空间 更多