Socket 的网络编程

Posted lijins

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Socket 的网络编程相关的知识,希望对你有一定的参考价值。

socket 网络编程的服务端:

1) 创建socket 套接字。  

2) 和socket绑定主机地址和端口

3) socket 主动监听端口,看又没有来连接。

4) 当执行到 accept() 时, 被动地等待连接来到。 阻塞。 当连接来到时, 调用, 返回与客户端通信的socket,和客户的addr : ip + 新的通信端口。

5) resv() ,,   send()

 

 

from socket import *
from time import ctime

HOST=127.0.0.1
PORT = 1111
BUFSIZE= 1024
ADDR = (HOST,PORT)

tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)

while True:
    print waiting for connection...
    tcpCliSock, addr = tcpSerSock.accept()

    print ...connection from:, addr

    while True:
        data = tcpCliSock.recv(BUFSIZE)
        print data
        if not data:
            break
        tcpCliSock.send([%s] %s %(ctime(), data))
        if data == None:
            tcpCliSock.close()

tcpSerSock.close()

 

 

socket 客户端编程:

1) 创建客户端的socket 

 2)   调用 connet( addr ) 连接 服务器addr

 3)  数据的发送和接受。

 

from socket import *
from time import ctime

HOST=127.0.0.1
PORT = 1111
BUFSIZE= 1024
ADDR = (HOST,PORT)

tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(1)

while True:
    print waiting for connection...
    tcpCliSock, addr = tcpSerSock.accept()

    print ...connection from:, addr

    while True:
        data = tcpCliSock.recv(BUFSIZE)
        print data
        if not data:
            break
        tcpCliSock.send([%s] %s %(ctime(), data))
        if data == None:
            tcpCliSock.close()

tcpSerSock.close()

 

以上是关于Socket 的网络编程的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

使用 Pygments 检测代码片段的编程语言