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(); } }

Tudcloud(月付7.2美元),香港VPS,可选大带宽或不限流量

Tudcloud是一家新开的主机商,提供VPS和独立服务器租用,数据中心在中国香港(VPS和独立服务器)和美国洛杉矶(独立服务器),商家VPS基于KVM架构,开设在香港机房,可以选择限制流量大带宽或者限制带宽不限流量套餐。目前提供8折优惠码,优惠后最低每月7.2美元起。虽然主机商网站为英文界面,但是支付方式仅支付宝和Stripe,可能是国人商家。下面列出部分VPS主机套餐配置信息。CPU:1cor...

2021年7月最新洛杉矶CN2/香港CN2 vps套餐及搬瓦工优惠码 循环终身优惠6.58%

搬瓦工怎么样?2021年7月最新vps套餐推荐及搬瓦工优惠码整理,搬瓦工优惠码可以在购买的时候获取一些优惠,一般来说力度都在 6% 左右。本文整理一下 2021 年 7 月最新的搬瓦工优惠码,目前折扣力度最大是 6.58%,并且是循环折扣,续费有效,可以一直享受优惠价格续费的。搬瓦工优惠码基本上可能每年才会更新一次,大家可以收藏本文,会保持搬瓦工最新优惠码更新的。点击进入:搬瓦工最新官方网站搬瓦工...

Digital-VM80美元新加坡和日本独立服务器

Digital-VM商家的暑期活动促销,这个商家提供有多个数据中心独立服务器、VPS主机产品。最低配置月付80美元,支持带宽、流量和IP的自定义配置。Digital-VM,是2019年新成立的商家,主要从事日本东京、新加坡、美国洛杉矶、荷兰阿姆斯特丹、西班牙马德里、挪威奥斯陆、丹麦哥本哈根数据中心的KVM架构VPS产品销售,分为大硬盘型(1Gbps带宽端口、分配较大的硬盘)和大带宽型(10Gbps...

udp编程为你推荐
组或资源的状态不是执行请求操作的正确状态提示 HTTP 错误 404 -文件或目录未找到。u盾证书“U盾”和“数字证书”有什么区别?java教程pdfJava操作pdf表格数据化学键理论化学键的定义封包是什么游戏开挂是什么意思?物联网公司排名国内物联网卡座公司有排名吗?网络黑科技什么防封软件,都是假的,没有一个是真的,大家不要受骗!怎样清除历史记录怎样清除历史记录wps表格数据恢复WPS表格如果变成这样怎么恢复hadoop大数据平台大数据与Hadoop之间是什么关系
vps优惠码cnyvps ftp空间 百度云100as 圣迭戈 godaddy续费优惠码 嘟牛 qq数据库下载 cloudlink 腾讯总部在哪 阿里云邮箱怎么注册 亿库 htaccess hosting 侦探online 在线tracert 域名商城 大硬盘分区 流媒体服务器软件 宿迁服务器托管 总线制报警主机 更多