小编Acr*_*dae的帖子

Glib/Gio 异步或线程 UDP 服务器

我目前有一个同步 UDP 应用程序接收消息。

代码 :

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#include <glib.h>
#include <gio/gio.h>


int main(argc,argv)
int argc;
char ** argv;{


char buf[256], *ptr, sep[] = "| ";
GError * error = NULL;


  GSocket * socket;
  GSocketAddress *gsockAddr, *gfromAddr;
  guint16 udp_port = 1500;
  //Creates socket udp ipv4
  socket = g_socket_new(G_SOCKET_FAMILY_IPV4,
                    G_SOCKET_TYPE_DATAGRAM,
                    G_SOCKET_PROTOCOL_UDP,
                    &error);
  g_assert(error == NULL);

  if (socket == NULL) {
    g_print("ERROR");
    exit(1);
  }
  //sockaddr struct like
  gsockAddr = G_SOCKET_ADDRESS(g_inet_socket_address_new(g_inet_address_new_any(G_SOCKET_FAMILY_IPV4), udp_port));

  if(gsockAddr == NULL){
    g_error("Error socket\n");
    exit(1);
  }
// …
Run Code Online (Sandbox Code Playgroud)

c multithreading glib asyncsocket gio

2
推荐指数
1
解决办法
2679
查看次数

标签 统计

asyncsocket ×1

c ×1

gio ×1

glib ×1

multithreading ×1