设置udp课程客户端
acudpclient的Python项目详细描述
#acudpclient
[![构建状态](https://travis-ci.org/joaoubaldo/acudpclient.svg?branch=master)(https://travis ci.org/joaoubaldo/acudpclient)
acudpclient是一个python模块,可用于与assetto corsa专用服务器通信。
使用其udp协议,实时遥测、圈计时和会话信息被推送到客户端。
一些操作,也提供类似发送/广播消息的功能。
\\
``bash
$python setup.py install
```
或
``bash
$pip install acudpclient
```
<
<
<
<<<
/>;测试
`` bash `` bash ``bash
$noestests
```
目的
1.在udp处于活动状态时启动acserver。
2。使用“tcpdump”捕获数据:
`` bash
$tcpdump-w/tmp/ac_out.pcap-s0-i lo-n udp dst端口10000
```
>3。从pcap文件中提取所有udp负载:
`` bash
$tshark-r/tmp/ac_out.pcap-t fields-e data tr-d'\n'perl-pe's/([0-9a-f]{2})/chr hex$1/gie'>;/tmp/ac_out
```
4。`/tmp/ac-out包含acserver发送的二进制数据。
>客户端的初始化方法如下:
``python
``python
```
>
*`使用远程端口和主机来初始化客户端:
发送数据到AC服务器
*`listen()`将服务器套接字绑定到'port`.
服务器事件可以直接处理,也可以由事件订阅服务器处理。在
这两种情况下,都必须在
应用程序的主循环中调用“get戋next戋event()”方法。
当直接处理事件时,调用“get戋next戋event()`
可能返回“none”,这意味着在
点上没有可用的事件(内部的“acudpclient”套接字是非阻塞的)。
事件可以通过以下命名方案创建
event)`是根据事件类型包含不同键的词典。请参阅“acudpclient.client import acudpclient”
,查看每个事件类型有哪些密钥可用。
\examples
>直接处理事件:
``python
from acudpclient.client import acudpclient
client=acudpclient(port=10000,远程端口=10001)
client.listen()
client.get_session_info()
在acsp_lap_completed上(self,event):
print event
def on_acsp_new_session(self,event):
print event
def on_acsp_new_connection(self,event):
print event
handler=aceventhandler()
client=acudpclient(port=10000,远程端口=10001)
client.listen()
client.subscribe(handler)
为真时:
client.get_next_event()
```
[![构建状态](https://travis-ci.org/joaoubaldo/acudpclient.svg?branch=master)(https://travis ci.org/joaoubaldo/acudpclient)
acudpclient是一个python模块,可用于与assetto corsa专用服务器通信。
使用其udp协议,实时遥测、圈计时和会话信息被推送到客户端。
一些操作,也提供类似发送/广播消息的功能。
\\
``bash
$python setup.py install
```
或
``bash
$pip install acudpclient
```
<
<
<
<<<
/>;测试
`` bash `` bash ``bash
$noestests
```
目的
1.在udp处于活动状态时启动acserver。
2。使用“tcpdump”捕获数据:
`` bash
$tcpdump-w/tmp/ac_out.pcap-s0-i lo-n udp dst端口10000
```
>3。从pcap文件中提取所有udp负载:
`` bash
$tshark-r/tmp/ac_out.pcap-t fields-e data tr-d'\n'perl-pe's/([0-9a-f]{2})/chr hex$1/gie'>;/tmp/ac_out
```
4。`/tmp/ac-out包含acserver发送的二进制数据。
>客户端的初始化方法如下:
``python
``python
```
>
*`使用远程端口和主机来初始化客户端:
发送数据到AC服务器
*`listen()`将服务器套接字绑定到'port`.
服务器事件可以直接处理,也可以由事件订阅服务器处理。在
这两种情况下,都必须在
应用程序的主循环中调用“get戋next戋event()”方法。
当直接处理事件时,调用“get戋next戋event()`
可能返回“none”,这意味着在
点上没有可用的事件(内部的“acudpclient”套接字是非阻塞的)。
事件可以通过以下命名方案创建
event)`是根据事件类型包含不同键的词典。请参阅“acudpclient.client import acudpclient”
,查看每个事件类型有哪些密钥可用。
\examples
>直接处理事件:
``python
from acudpclient.client import acudpclient
client=acudpclient(port=10000,远程端口=10001)
client.listen()
client.get_session_info()
在acsp_lap_completed上(self,event):
print event
def on_acsp_new_session(self,event):
print event
def on_acsp_new_connection(self,event):
print event
handler=aceventhandler()
client=acudpclient(port=10000,远程端口=10001)
client.listen()
client.subscribe(handler)
为真时:
client.get_next_event()
```