Win7电脑中游戏的UDP传输经常出现在一些小众网络游戏或者联机游戏中,UDP传输速度过慢就会让游戏画面、声音等出现卡顿,那么遇到这种情况应该怎么办呢?下面小编就教大家该如何去解决这个问题。
Win7游戏UDP传输优化方法
一、接收端Receive
1、首先我们需要使用文本编辑工具打开游戏的配置文件。
2、接着输入下方代码:
package com.heima.socket;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class Demo02_Receive {
public static void main(String[] args) throws IOException {
DatagramSocket socket = new DatagramSocket(6666); // 创建Socket相当于创建码头
DatagramPacket packet = new DatagramPacket(new byte[1024], 1024);// 创建Packet相当于创建集装箱
while (true) {
socket.receive(packet); // 接货,接收数据
byte[] arr = packet.getData(); // 获取数据
int len = packet.getLength(); // 获取有效的字节个数
String ip = packet.getAddress().getHostAddress(); // 获取ip地址
int port = packet.getPort(); // 获取端口号
System.out.println(ip + “:” + port + “:” + new String(arr, 0, len));
}
}
}
二、发送端Send
1、同样我们需要使用文本编辑工具打开游戏的配置文件。
2、然后输入下方代码:
package com.heima.socket;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
public class Demo02_Send {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in); // 创建键盘录入对象
DatagramSocket socket = new DatagramSocket(); // 创建Socket相当于创建码头
while (true) {
String line = sc.nextLine(); // 获取键盘录入的字符串
if (“quit”.equals(line)) {
break;
}
DatagramPacket packet = // 创建Packet相当于集装箱
new DatagramPacket(line.getBytes(), line.getBytes().length,
InetAddress.getByName(“127.0.0.1”), 6666);
socket.send(packet); // 发货,将数据发出去
}
socket.close();
}
}
关于win7系统的udp协议问题
UDP协议是,是一种无连接的协议,是不可靠协议,到达目的地的时间以及内容的正确性都是不能被保证的。所以咨询下游戏开发商如何配置UDP通讯或者问问游戏里的玩家有没有相同的问题。
另外,一些杀毒软件可能会拦截UDP信号,QQ也有UDP协议通讯是不是与你的游戏UDP冲突,游戏的时候关掉杀毒软件或QQ试试。
WIN7系统,360木马防火墙,QQ雷电游戏大厅和服务器的UDP通讯不通
您好
1,UDP 协议基本上是IP协议与上层协议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。您的这个情况,应该是被杀毒软件的防火墙给禁止了。
2,建议您把杀毒软件换成腾讯电脑管家,下载地址:电脑管家官网
3,下载安装好腾讯电脑管家之后,使用电脑管家的【安全体检】功能,给电脑做一个安全体检,然后修复一下体检出的异常项恢复一下,就可以正常联网了。
4,恢复完成之后最好再重启一下电脑哦!
如果还有其他疑问和问题,欢迎再次来电脑管家企业平台进行提问,我们将尽全力为您解答疑难