标签: sockets

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
查看次数

套接字:listen() - 函数中的结果太大

另一个"结果太大" - c ++套接字的问题并没有多大帮助.我有一个服务器代码,但每次运行它时,我会得到一个"结果太大" - 对于listen() - 函数的错误.希望,你可以帮忙!

SOCKET sd;
SOCKET sd2;

char serve_1_clien_0_intern;
    struct sockaddr_in server;
    struct sockaddr_in client;

void udp_init(unsigned short port_number, int a1, int a2, int a3, int a4, char serve_1_clien_0 ){

    WSADATA w;                          
    serve_1_clien_0_intern = serve_1_clien_0;



    if (WSAStartup(0x0101, &w) != 0){
        fprintf(stderr, "Could not open Windows connection.\n");
        return;
        exit(0);
    }


    sd = socket(AF_INET, SOCK_DGRAM, 0);
    if (sd == INVALID_SOCKET){
        fprintf(stderr, "Could not create socket.\n");
        WSACleanup();
        return;
        exit(0);
    }

    memset((void *)&server, '\0', sizeof(struct sockaddr_in));


    server.sin_family = AF_INET; …
Run Code Online (Sandbox Code Playgroud)

c++ sockets winapi listen

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

Python上的pymysql连接到Windows上的mysql

我的来源

import pymysql
import socket
conn = pymysql.connect(host='127.0.0.1', unix_socket='/tmp/mysql.sock', user='user', passwd=None, db='extractor')
cur = conn.cursor()
cur.execute("SELECT * FROM res")
for response in cur:
    print(response)
cur.close()
conn.close()
Run Code Online (Sandbox Code Playgroud)

错误

Traceback (most recent call last):
  File "C:\Users\Jonathan\Desktop\python.py", line 20, in <module>
    conn = pymysql.connect(host='127.0.0.1', unix_socket='/tmp/mysql.sock', user='bitnami', passwd=None, db='extractor')
  File "C:\Python33\lib\site-packages\pymysql\__init__.py", line 93, in Connect
    return Connection(*args, **kwargs)
  File "C:\Python33\lib\site-packages\pymysql\connections.py", line 510, in __init__
    self._connect()
  File "C:\Python33\lib\site-packages\pymysql\connections.py", line 658, in _connect
    sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
AttributeError: 'module' object has no attribute 'AF_UNIX'
>>> 
Run Code Online (Sandbox Code Playgroud)

html python mysql sockets

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

ServerSocket端口号可以是任何5009,12221,6 785等.但为什么呢?

我很困惑和搜索,但无法找到我的问题的答案,帮助我....

ServerSocket s= new ServerSocket(port);
Run Code Online (Sandbox Code Playgroud)

这个端口号来自哪里?即使我使用4位或5位数字中的任何一个数字,它仍然可以完美地运行,但为什么以及如何?例如,端口号可以是任何5009,12221,6785等,但为什么呢?谁决定它应该是多少?

java sockets serversocket

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

是否修复了非阻塞套接字的WSAPoll错误?

我正在考虑从Delphi中的非阻塞套接字服务器的select()转换为WSAPoll()/ poll(),我遇到了这个描述WSAPoll严重缺陷的对话.有谁知道WSAPoll是否有修复或解决方法?或者我唯一的选择是I/O完成端口的额外工作?

sockets windows delphi

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

服务器 - 客户端聊天程序

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

这是我的代码

服务器:

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
查看次数

是否可以通过套接字发送指向函数的指针?

我有两个相同程序的进程,可能在两台不同的机器上运行.我希望进程P2通过套接字从进程P1接收函数指针.
有可能吗?这是一个好习惯吗?

编辑:更有趣的是发送函数的代码,但我对此持怀疑态度.可能吗?

c++ sockets linux function-pointers

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

Java InputStreamReader/Reader抛出NullPointerException

我有一个简单的套接字服务器示例,其中用户连接到它,可能会也可能不会立即发送输入(在这种情况下,它不会).Java引发异常,我不明白为什么.

这是代码:

public static void main(String[] args) {
    org.apache.log4j.PropertyConfigurator.configure("conf/log4j.properties");
    log.debug("Application started");

    try {
        // Setup socket server
        int port = 9999;
        sv = new ServerSocket(port);

        // Accept incoming sockets or block
        Socket s = sv.accept();
        log.warn("Accepted new client connection!");

        InputStreamReader reader = new InputStreamReader(s.getInputStream(), "UTF-8");

        while(!reader.ready()) {}

        char[] b = null;
        reader.read(b);
        log.warn(new String(b));

    } catch (Exception e) {
        System.out.print(e.getMessage() + "\n");
        e.printStackTrace();
        System.exit(1);
    }
}
Run Code Online (Sandbox Code Playgroud)

并且堆栈跟踪:

DEBUG [main] (Main.java:38) - Application started
WARN [main] (Main.java:47) - Accepted new client …
Run Code Online (Sandbox Code Playgroud)

java sockets

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

UDP数据包未读取会发生什么?

在C中,我有一个简单的服务器/客户端UDP套接字编程示例.客户端以高速率向服务器发送数据包,而服务器读取每个传入的消息并将其发送回客户端.客户端永远不会读取任何传入的消息.

有没有理由相信发送回客户端的数据包会填满客户端的缓冲区?如果客户没有阅读任何内容,他们究竟会发生什么?它们会立即被丢弃吗?

c sockets buffer udp

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

Python IM程序

我想使用python套接字来创建一个服务器,多个客户端可以连接到该服务器并回显文本输入.是否有一个基本的服务器,我可以用几行代码设置?我已经准备好连接客户了我只需要知道这些客户端连接的基本python套接字服务器是什么样的.

python sockets

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