标签: network-programming

通过 URL 获取 IP 地址

这有效

target.sin_addr.s_addr = inet_addr("127.0.0.1");
Run Code Online (Sandbox Code Playgroud)

但我想输入网站 URL 中的 IP

我努力了

const char host[] = "http://www.google.com/";
struct hostent *host_ip;
host_ip = gethostbyaddr(host, strlen(host), 0);
Run Code Online (Sandbox Code Playgroud)

在我使用 gethostbyaddr() 之前,我确实做了 WSAStartup;

我试过这个

target.sin_addr.s_addr = inet_addr(host_ip);
Run Code Online (Sandbox Code Playgroud)

我也尝试过一些类似的方法,但都不起作用。有人可以告诉我如何正确执行此操作吗?

谢谢你!

编辑:

当我做

host_ip = gethostbyaddr((char *)&host, strlen(host), 0);
std::cout << host_ip->h_addr;
Run Code Online (Sandbox Code Playgroud)

它给了我

httpa104-116-116-112.deploy.static.akamaitechnologies.com
Run Code Online (Sandbox Code Playgroud)

c sockets network-programming tcp

0
推荐指数
1
解决办法
7418
查看次数

使用 Pickle 在 Python 中进行套接字编程

我在 python 中使用了 pickle 函数来解决套接字编程问题。但是我在服务器上收到的输出被打印为“< main .ProcessData instance at 0x7fbacba37f38>”,而不是发送的内容。

服务器端和客户端代码如下:

服务器

import socket, pickle

class ProcessData:
    print "Server is Listening....." 


print "Server is Listening....."
HOST = 'localhost'
PORT = 50007
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr

data = conn.recv(4096)
data_variable = pickle.loads(data)
conn.close()
print data_variable
print 'Data received from client'
Run Code Online (Sandbox Code Playgroud)

客户

import socket, pickle

class ProcessData:
    print 'ABCDEFGHIJK'



HOST = 'localhost'
PORT = 50007
# Create a socket connection.
s …
Run Code Online (Sandbox Code Playgroud)

python sockets network-programming client-server pickle

0
推荐指数
1
解决办法
1万
查看次数

在小型客户端-服务器应用程序中更改 JavaFX 标签文本

我创建了一个小型的客户端-服务器程序,其工作原理如下:客户端在五秒内向服务器发送一个随机数,然后服务器发送一个(或多或少出名的)报价给客户端。该随机数表示某些引号所在的 ServerClass 中 ArrayList 的索引。连接运行良好,客户收到报价,我可以轻松地使用 sysout 将其打印出来。我现在的问题是,我想在一个小的 JavaFX / FXML 文件中将收到的报价显示为标签,并且当从服务器传入新报价时,文本应该每五秒更改一次。QuotesClient 类(即客户端)也是相应 FXML 文件的控制器,但问题是因为我的 Client 类中负责处理传入 UDP 数据包的方法是静态的,当然我无法访问非静态在此方法中进行标记。

我也尝试将标签设为静态,但随后我收到一个 NullPointerException:

java.lang.NullPointerException
    at Aufgabe1.QuotesClient.main(QuotesClient.java:48)
    at Aufgabe1.QuotesApp.lambda$1(QuotesApp.java:32)
    at java.base/java.lang.Thread.run(Thread.java:844)

Run Code Online (Sandbox Code Playgroud)

这是我的客户端文件:

public class QuotesClient {
    private static final int BUFSIZE = 508;
    
    @FXML
    private static Label zitatLabel; //Thats the quoteLabel i wanna change

    public static void main(String[] args) throws UnknownHostException {
        var host = "localhost";
        var localPort = 40000;
        var serverPort = 50000; 
        try (var socket = new DatagramSocket(localPort)) {
            while(true) {
                Random …
Run Code Online (Sandbox Code Playgroud)

java udp network-programming client-server javafx

0
推荐指数
1
解决办法
59
查看次数

C:pthread无法在套接字上侦听,绑定和接受

我正在尝试创建一个侦听套接字连接的进程.当我在main()函数中绑定,监听和等待接受时,它似乎有效.但是当我尝试创建一个新线程并在新线程上绑定,监听和接受时,它就失败了.这是我的代码.

void request_handler(int clientSock) {
    FILE *requestedFile = NULL;
    long fileSize = 0;
    struct stat st;
    long bytesRead;
    char buffer[1024];

    requestedFile = fopen("/PATH/book.txt", "rb");

    while(!feof(requestedFile)) {
        bytesRead = fread(buffer, 1, sizeof(buffer), requestedFile);
        send(clientSock, buffer, bytesRead, 0);
    }

}

void listener() {
    int server_sock_desc;
    struct sockaddr_in name;

    int client_sock_desc;
    struct sockaddr_in client_name;
    socklen_t addr_size;

    pthread_t handler_thread;

    printf("waiting");

    //connection setup
    server_sock_desc = socket(PF_INET, SOCK_STREAM, 0);


    if(server_sock_desc != -1) {
        memset(&name, 0, sizeof(name));
        name.sin_family = AF_INET;
        name.sin_port = htons(5000);
        name.sin_addr.s_addr = htonl(INADDR_ANY);
        int …
Run Code Online (Sandbox Code Playgroud)

c sockets multithreading network-programming

-1
推荐指数
1
解决办法
1340
查看次数

Go 中的点对点网络

在 Go 中实现点对点网络时,最好的起点是什么?Go 中有没有什么好的特性可以让实现点对点网络更容易?

networking p2p network-programming go peer

-1
推荐指数
1
解决办法
1914
查看次数

服务器 - 客户端聊天程序

我正在写一个服务器 - 客户端聊天程序.

这是我的代码

服务器:

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class HelloServer {

    public final static int defaultPort = 2345;

    public static void main(String[] args) {
        int port = defaultPort;
        try {
            port = Integer.parseInt(args[0]);
        } catch (Exception e) {
        }
        if (port <= 0 || port >= 65536) {
            port = defaultPort;
        }
        try {
            ServerSocket ss = new ServerSocket(port);

            while (true) {
                try {
                    Socket s = ss.accept();

                    String response = "Hello …
Run Code Online (Sandbox Code Playgroud)

java sockets networking network-programming serversocket

-1
推荐指数
1
解决办法
604
查看次数

有人可以为我解释一下吗?

Program received signal SIGSEGV, Segmentation fault.
memcpy ()
    at ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S:143
143 ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
(gdb) bt
#0  memcpy ()
    at ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S:143
#1  0x00007ffff764aa2e in __GI__IO_default_xsputn (f=0x7fffffffcf30, 
    data=<optimized out>, n=30) at genops.c:438
#2  0x00007ffff761c59c in _IO_vfprintf_internal (
    s=s@entry=0x7fffffffcf30, format=<optimized out>, 
    format@entry=0x55555555773f "%s/%s", ap=ap@entry=0x7fffffffd058)
    at vfprintf.c:1637
#3  0x00007ffff763e61b in __IO_vsprintf (
    string=0x3930313938393339 <error: Cannot access memory at address 0x3930313938393339>, format=0x55555555773f "%s/%s", 
    args=args@entry=0x7fffffffd058) at iovsprintf.c:42
#4  0x00007ffff7623717 in __sprintf (s=<optimized out>, 
    format=<optimized out>) at sprintf.c:32
#5  0x000055555555680e in take_action ( …
Run Code Online (Sandbox Code Playgroud)

c memory printf network-programming tcp

-1
推荐指数
1
解决办法
7778
查看次数

什么是n/w编程+ Web开发的最佳脚本语言

我对开发Web应用程序和网络应用程序感兴趣.为此,学习最好的脚本语言是什么.哪一个对这两个有效.因此,我甚至不知道任何脚本语言的单一语法.哪个是理解,可维护,有效和简单的最佳脚本(可能不是).

请不要说你知道的是什么.请告诉我最好的

sockets network-programming

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

net.Dialer#KeepAlive 和 http.Transport#IdleTimeout 有什么区别?

type Dialer struct {
    ......
    // KeepAlive specifies the keep-alive period for an active
    // network connection.
    // If zero, keep-alives are enabled if supported by the protocol
    // and operating system. Network protocols or operating systems
    // that do not support keep-alives ignore this field.
    // If negative, keep-alives are disabled.
    KeepAlive time.Duration
}
Run Code Online (Sandbox Code Playgroud)
type Transport struct {
    ......
// IdleConnTimeout is the maximum amount of time an idle
    // (keep-alive) connection will remain idle before closing
    // itself. …
Run Code Online (Sandbox Code Playgroud)

network-programming http go

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

在C中创建TCP套接字

我想发送一组数据包,如下所示:

\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B
Run Code Online (Sandbox Code Playgroud)

到我的电脑192.168.123.45上的端口102.

这是昨天写的Ruby中的一个小程序,它完成了这项工作.现在我想在C中做这个,最终为了拥有一个Windows可执行文件,但我被卡住了.

有人知道如何用C做这个Ruby程序吗?谢谢.

require 'socket'

myport = 102
myhost = '192.168.123.45'
mysock = TCPSocket.new(myhost, myport)

mysock.write [0x01, 0x02, 0x03, 0x04,
             0x05, 0x06, 0x07, 0x08, 
             0x09, 0x0A, 0x0B].pack('C*')
puts mysock.read
mysock.close

puts "End of socket"
Run Code Online (Sandbox Code Playgroud)

c ruby sockets network-programming tcp

-3
推荐指数
1
解决办法
156
查看次数

网络编程语言可以用以下哪种语言完成a)C b)C++ c)Java d)pascal

在一次采访中,这个问题在多项选择题中被提出.

网络编程可以用以下哪种语言完成?

a)C
b)C++
c)Java
d)Pascal

我认为可以在这些技术中进行网络编程.

java networking network-programming

-3
推荐指数
1
解决办法
281
查看次数

发送电子邮件附件的协议

据我所知,有以下协议用于发送和接收电子邮件:

  1. SMTP(用于发送电子邮件)
  2. 流行音乐、流行音乐3
  3. IMAP
  4. 如果还有的话请列出来。

这些协议中的哪些用于在电子邮件中发送附件?发送电子邮件时 FTP 或 TFTP 有什么作用吗?

networking network-programming cisco protocols email-attachments

-3
推荐指数
1
解决办法
1720
查看次数