#3Python爬虫的进阶之路----网络编程

TCP编程

分为服务端与客户端;

创建运行服务端需要五个步骤:

1)创建socket并绑定到本地IP与端口;

2)开始监听链接;

3)进入循环,不断接受连接请求;

4)接收传来的数据,并发送给对方数据;

5)传输完毕后,关闭socket;

# coding:utf-8

import time, random
import threading
import socket

def DoSth(s, addr):
    print("Accept a new connection from {}!".format(addr))
    s.send(b"hello I'm server!")
    while True:
        data = s.recv(1024)
        time.sleep(1)
        if data.decode('utf-8') == "exit":
            break
        else:
            print("-->>{}".format(data.decode('utf-8')))
            s.send(("Complete message: {}".format(data.decode('utf-8'))).encode('utf-8'))
    s.close()
    print("Connection from {} Over!".format(addr))


if __name__ == '__main__':
    #create socket
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    #bind IP
    s.bind(('127.0.0.1', 9999))

    #listen
    s.listen(5)
    print("Wait for connection....")

    #circle
    while True:
        # accept a new link
        sock, address = s.accept()
        t = threading.Thread(target= DoSth, args=(sock, address))
        t.start()

客户端需要三个步骤:

1)创建socket, 连接远端地址

2)发送和接收数据

3)关闭socket

# coding:utf-8

import socket

#init socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

#connect
s.connect(('127.0.0.1', 9999))

print('-->>'+s.recv(1024).decode('utf-8'))

s.send("hello this is client".encode('utf-8'))
print('-->>'+s.recv(1024).decode('utf-8'))

s.send(b"exit")

s.close()

UDP编程

对于服务端

1)创建socket, 绑定地址和端口

2)发送和接收数据

3)关闭socket

客户端

1)创建socket

2)发送和接收数据

3)关闭socket

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值