精华内容
下载资源
问答
  • Java创建socket连接

    千次阅读 2020-04-01 22:47:34
    Java创建socket正确创建socket连接的语句: Socket socket = new Socket("192.168.0.xxx", 8080);

    Java创建socket正确创建socket连接的语句:

    Socket socket = new Socket("192.168.0.xxx", 8080);

    展开全文
  • //创建TCP套接字 sockaddr_in addr, addr2; //定义套接字地址结构 addr.sin_family = AF_INET; //初始化地址结构 addr.sin_port = htons(6000); addr.sin_addr.S_un.S_addr = INADDR_ANY; int n = ...
  • 原创:http://blog.csdn.net/iwanghang1.既然...我们用sql语句快捷建立一个用户表,就叫aaa_user语句如下:CREATE TABLE `aaa_user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT
    原创:http://blog.csdn.net/iwanghang




    1.既然Demo我们先来个数据库吧,就叫demo1113


    2.我们用sql语句快捷建立一个用户表,就叫aaa_user


    语句如下:

    CREATE TABLE `aaa_user` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `username` varchar(50) NOT NULL,
      `password` varchar(50) NOT NULL,
      `online` varchar(50) NOT NULL DEFAULT '0',
      `meeting` varchar(50) NOT NULL DEFAULT '0',
      `identity` varchar(50) NOT NULL,
      `stime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      PRIMARY KEY (`id`),
      UNIQUE KEY `username` (`username`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
    
    

    3.关闭重连数据库,就可以看到我们的表了



    4.我们插入几条数据


    语句如下:

    INSERT INTO aaa_user (username, password, identity) VALUES ('iwanghang', '123456', '一级工程师')
    INSERT INTO aaa_user (username, password, identity) VALUES ('mimi', '123456', '二级工程师')
    INSERT INTO aaa_user (username, password, identity) VALUES ('lele', '123456', '用户')
    INSERT INTO aaa_user (username, password, identity) VALUES ('lilei', '123456', '专家')

    5.查看一下表,确定没有问题




    6.好了,我们这一篇博文就到这里,下一篇博文我们就要用到这表来测试app接口了~




    原创:http://blog.csdn.net/iwanghang
    展开全文
  • 3、 掌握条件语句 4、 掌握循环语句 学习时间: 提示:这里可以添加计划学习的时间 例如: 1、 周一至周五晚上 7 点—晚上9点 2、 周六上午 9 点-上午 11 点 3、 周日下午 3 点-下午 6 点 学习产出: 提示:这里...

    一、学习内容:

    1、理解socket创建套接字
    2、有关协议族
    3、区分TCP和UDP


    - socket原型

    #include <sys/socket.h>
    int socket(int domain, int type, int protocol);
    /*
    成功时返回文件描述符,失败时返回-1
    domain: 套接字中使用的协议族(Protocol Family)
    type: 套接字数据传输的类型信息
    protocol: 计算机间通信中使用的协议信息
    */
    
    

    1.1、协议族

    名称 协议族
    PF_INET IPV4 互联网协议族
    PF_INET6 IPV6 互联网协议族
    PF_LOCAL 本地通信 Unix 协议族
    PF_PACKET 底层套接字的协议族
    PF_IPX IPX Novel 协议族

    socket 函数的第一个参数主要用的是PF_INET对应的IPV4协议族,其他协议并不常用,因此中重点放在PF_INET协议族上。另外,套接字中实际采用的最终协议是通过第三个参数确定的。

    1.2、套接字类型

    socket 函数的第二个参数指的是套接字的数据传输方式,只有这样才能决定创建的套接字的数据传输方式。已经通过第一个参数传递了协议族信息,为什么还要决定数据传输方式?问题就在于,决定了协议族并不能同时决定数据传输方式。换言.之, socket 函数的第一个参数 PF_INET 协议族中也存在多种数据传输方式

    1.2、协议的最终选择

    socket 函数的第三个参数决定传输最终采用的协议。那么为什么前面已经通过socket函数的前两个参数确定了协议族和传输类型为什么还要第三个参数呢??,因为有可能同一协议族下存在多个传输方式相同的协议。那么为什么前面socket函数的第三个参数用0呢??因为在同一协议下满足该传输方式的协议只有一种。

    TCP:

    int tcp_socket=socket(PF_INET,SOCK_SREAM,IPPROTO_TCP);
    
    参数说明:
    PF_INET指定ipv4协议族。
    SOCK_SREAM指定传输方式为面向连接型(特点:
    										1:传输过程中数据不会消失
    										2:按顺序传输
    										3:传输数据不存在数据边界当套接字内部的缓冲区填满后将停止传输,等缓冲区空闲时继续传输)
    IPPROTO_TCP指定最终传输协议为TCP等价与传入0
    

    UDP:

    int tcp_socket=socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);
    
    参数说明:
    PF_INET指定ipv4协议族。
    SOCK_DGRAM指定传输方式为面向消息型(特点:
    										1:传输速度快不在乎传输顺序
    										2:传输数据可能丢失
    										3:传输数据存在数据边界
    										4:限制每次传输数据大小)
    IPPROTO_UDP指定最终传输协议为UDP等价与传入0
    

    - 示例

    client:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <arpa/inet.h>
    #include <sys/socket.h>
    void error_handling(char *message);
    
    int main(int argc, char *argv[])
    {
        int sock;
        struct sockaddr_in serv_addr;
        char message[30];
        int str_len = 0;
        int idx = 0, read_len = 0;
    
        if (argc != 3)
        {
            printf("Usage : %s <IP> <port>\n", argv[0]);
            exit(1);
        }
        //创建套接字,此时套接字并不马上分为服务端和客户端。如果紧接着调用 bind,listen 函数,将成为服务器套接字
        //如果调用 connect 函数,将成为客户端套接字
        //若前两个参数使用PF_INET 和 SOCK_STREAM,则可以省略第三个参数 IPPROTO_TCP
        sock = socket(PF_INET, SOCK_STREAM, 0);
        if (sock == -1)
            error_handling("socket() error");
    
        memset(&serv_addr, 0, sizeof(serv_addr));
        serv_addr.sin_family = AF_INET;
        serv_addr.sin_addr.s_addr = inet_addr(argv[1]);
        serv_addr.sin_port = htons(atoi(argv[2]));
        //调用 connect 函数向服务器发送连接请求
        if (connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) == -1)
            error_handling("connect() error!");
        //当read函数返回0的时候条件为假,跳出循环。
        while (read_len = read(sock, &message[idx++], 1))
        {
            if (read_len == -1)
                error_handling("read() error!");
            str_len += read_len;
        }
        printf("Message from server : %s \n", message);
        printf("Function read call count: %d \n", str_len);
        close(sock);
        return 0;
    }
    
    void error_handling(char *message)
    {
        fputs(message, stderr);
        fputc('\n', stderr);
        exit(1);
    }
    

    server:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <arpa/inet.h>
    #include <sys/socket.h>
    void error_handling(char *message);
    
    int main(int argc, char *argv[])
    {
        int serv_sock;
        int clnt_sock;
    
        struct sockaddr_in serv_addr;
        struct sockaddr_in clnt_addr;
        socklen_t clnt_addr_size;
    
        char message[] = "Hello World!";
    
        if (argc != 2)
        {
            printf("Usage : %s <port>\n", argv[0]);
            exit(1);
        }
        //调用 socket 函数创建套接字
        serv_sock = socket(PF_INET, SOCK_STREAM, 0);
        if (serv_sock == -1)
            error_handling("socket() error");
    
        memset(&serv_addr, 0, sizeof(serv_addr));
        serv_addr.sin_family = AF_INET;
        serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
        serv_addr.sin_port = htons(atoi(argv[1]));
        //调用 bind 函数分配ip地址和端口号
        if (bind(serv_sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) == -1)
            error_handling("bind() error");
        //调用 listen 函数将套接字转为可接受连接状态
        if (listen(serv_sock, 5) == -1)
            error_handling("listen() error");
    
        clnt_addr_size = sizeof(clnt_addr);
        //调用 accept 函数受理连接请求。如果在没有连接请求的情况下调用该函数,则不会返回,直到有连接请求为止
        clnt_sock = accept(serv_sock, (struct sockaddr *)&clnt_addr, &clnt_addr_size);
        if (clnt_sock == -1)
            error_handling("accept() error");
        //稍后要将介绍的 write 函数用于传输数据,若程序经过 accept 这一行执行到本行,则说明已经有了连接请求
        write(clnt_sock, message, sizeof(message));
        close(clnt_sock);
        close(serv_sock);
        return 0;
    }
    
    void error_handling(char *message)
    {
        fputs(message, stderr);
        fputc('\n', stderr);
        exit(1);
    }
    

    注意!!!:

    这里服务器一次性发了13个字节数,但客户端读取了13次数据每次读取一个字节,这就是TCP传输特性:可靠,有序。

    展开全文
  • socket编程

    2011-05-24 11:48:00
    首先在创建socket,,然后绑定什么就不说了,,,然后listen 监听前面创建的socket(你可以把listen当然是后台运行的监控一样) listen语句之后一般会有accept。这个是接受连接请求的。 当监听到有连接请求...

     

    展开全文
  • Flume可以采集文件,socket数据包(网络端口)、文件夹、kafka、mysql数据库等各种形式源数据,又可以将采集到的数据(下沉sink)输出到HDFS、hbase、hive、kafka等众多外部存储系统中 一般的采集、传输需求,通过对f
  • 首先在创建socket,,然后绑定什么就不说了,,,然后listen 监听前面创建的socket(你可以把listen当然是后台运行的监控一样) listen语句之后一般会有accept。这个是接受连接请求的。 当监听到有连接请求来的...
  • 阻塞socket与非阻塞的socket(转载)

    千次阅读 2011-11-21 22:49:04
    首先在创建socket,,然后绑定什么就不说了,,,然后listen 监听前面创建的socket(你可以把listen当然是后台运行的监控一样) listen语句之后一般会有accept。这个是接受连接请求的。 当监听到有连接请求来的...
  • linux socket 阻塞 listen

    千次阅读 2013-03-27 13:30:50
    首先在创建socket,,然后绑定什么就不说了,,,然后listen 监听前面创建的socket(你可以把listen当然是后台运行的监控一样) listen语句之后一般会有accept。这个是接受连接请求的。 当监听到有连接请求来的...
  • Java Socket 编程之Socket与ServerSocket的区别(转)1.1 ServerSocket类 创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务,如: ServerSocket MyListener=new ServerSocket(600);...
  • socket简介

    2011-09-27 19:27:58
    要完成这个工作,需要完成三个部分的工作,以下依次说明: 一、建立服务器类 Java中有一个专门用来建立Socket服务器的类,名叫ServerSocket...这条语句创建了一个服务器对象,这个服务器使用9998号端口即在端口9...
  • Python的Socket编程

    2019-05-07 17:13:31
    socket.socket() 创建了一个 socket 对象,并且支持 context manager type,使用 with 语句,这样就不用再手动调用 s.close() 来关闭 socket 1024 是缓冲区数据大小限制最大值参数 bufsize 标准库中的selectors 模块...
  • Socket通讯

    2017-03-25 11:43:38
    1.1 ServerSocket类创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务,如: ServerSocket MyListener=new ServerSocket(6060); 这里指定提供监听服务的端口是600,一台计算机可以...
  • socket linux2

    2016-01-10 19:08:00
    //存贮输入的语句 char shmaddr[SIZE]; //接受服务器发送的全部聊天数据 int i=0; char myname[100]; char say[10]={"说:"}; printf("欢迎来到聊天室,请输入你的姓名:"); scanf("%s",myname); len = ...
  • java socket编程

    2013-01-23 11:38:29
    ServerSocket和Socket的区别: 1.1 ServerSocket类  创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务,如:  ServerSocket MyListener=new S
  • java Socket示例

    千次阅读 2009-07-09 08:49:00
    要完成这个工作,需要完成三个部分的工作,以下依次说明:一、建立服务器类Java中有一个专门用来建立Socket服务器的类,名叫ServerSocket,可以用服务器需要使用的端口号作为参数来创建服务器对象。ServerSocket ...
  •  创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务,如:  ServerSocket MyListener=new ServerSocket(600);  这里指定提供监听服务的端口是600,一台计算机可以同时提供多个...
  • serversocket or socket

    2017-03-08 20:49:25
     创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务,如:  ServerSocket MyListener=new ServerSocket(600);  这里指定提供监听服务的端口是600,一台计算机可以同时提供多个...
  • ServerSocket & Socket

    2016-09-18 22:46:35
     创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务,如:  ServerSocket MyListener=new ServerSocket(600);  这里指定提供监听服务的端口是600,一台计算机可以同时提供多个...
  • 宁外,今天小弟发现服务端python代码在创建socket的时候用的是 ``` s = socket.socket() ``` 而不是 ``` s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ``` 即未指定ipv4协议和流,不知道是不是因为...
  • java Socket使用示例

    千次阅读 2009-07-28 21:12:00
    要完成这个工作,需要完成三个部分的工作,以下依次说明:一、建立服务器类Java中有一个专门用来建立Socket服务器的类,名叫ServerSocket,可以用服务器需要使用的端口号作为参数来创建服务器对象。ServerSocket ...
  • 在android中客户端创建socket连接,不能在oncreate方法里面通过按钮的绑定来建立,要不就直接使用try{}语句直接在oncreate方法里面建立,要不就在oncreate方法的外面重新定义一个函数来创建连接。 举个例子,...
  • System.out.println("服务器套接字已经创建成功"); while(true){ System.out.println("等待客户机链接"); socket1=server1.accept(); reader=new BufferedReader(new InputStreamReader(socket1....
  • 创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务,如: ServerSocket MyListener=new ServerSocket(600); 这里指定提供监听服务的端口是600,一台计算机可以同时提供多个服务,...
  • 本人使用socket做的多人群聊,单人私聊,加上jdbc数据库+GUI 使用本资源步骤:1.先解压 2.创建chatsb数据库 3. 运行文件sql语句 4.使用eclipse导入项目 5.打开客户端与服务器端 编写不易,不喜勿碰!
  • 1.1 ServerSocket类创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务,如: ServerSocket MyListener=new ServerSocket(600); 这里指定提供监听服务的端口是600,一台计算机可以同时...
  • 1.1 ServerSocket类创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务,如: ServerSocket MyListener=new ServerSocket(600); 这里指定提供监听服务的端口是600,一台计算机可以同时...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 316
精华内容 126
关键字:

创建socket语句