网络编程

网络编程:

  软件:
    客户端:   cs架构      浏览器:    bs架构
  如何实现相互通信:
    1.编写两个软件,两个软件之前的相互通信
    2.用两个网线连接起来
    3.使用交换机相互通信(局域网,使用ipconfig在Windows中,在其他操作系统中用ifconfig)
    4.交换机和多个路由器
    5.公网ip

上代码

服务端:

import socket
server = socket.socket() #创建服务器对象
server.bind(("192.168.142.1",8001))#绑定ip和端口
server.listen(5)#服务器只接受五次请求
coon,addr = server.accept()#等待客户端来连接
print("已经连接了客户端",coon,addr)
#coon是客户端和服务端连接的对象,addr是客户端的地址
data = coon.recv(1024)#接收客户端发来的消息,接受1024个字节
print(data)
coon.send(b"hai")#服务端收到消息后发送消息给客户端
coon.close()#与客户端断开连接
server.close()#关闭服务器

客户端:

import socket
client = socket.socket()#创建socket通信
client.connect(("192.168.142.1",8001))#向服务器发送请求
content = input("Input")
client.send(content.encode('utf8'))
# client.send(b"I am a client")#连接成功后向服务器发送信息
data = client.recv(1024)#收到服务器返回的字节
print(data)
client.close()#关闭客户端

 

举例:

服务端:
server = socket.socket()

server.bind(('192.168.13.116',8001))

server.listen(5)

while True:
    conn,addr = server.accept()
    # 字节类型
    while True:
        data = conn.recv(1024) # 阻塞
        if data == b'exit':
            break
        response = data + b' SB'
        conn.send(response)

    conn.close()



客户端:sk.connect(('192.168.13.116',8001))

while True:
    name = input("请输入姓名:")
    sk.send(name.encode('utf-8')) # 字节
    if name == 'exit':
        break

    response = sk.recv(1024) # 字节
    print(response.decode('utf-8'))

sk.close()

 

import socket
server = socket.socket() #创建服务器对象
server.bind(("192.168.142.1",8001))#绑定ip和端口
server.listen(5)#服务器只接受五次请求
coon,addr = server.accept()#等待客户端来连接
print("已经连接了客户端",coon,addr)
#coon是客户端和服务端连接的对象,addr是客户端的地址
data = coon.recv(1024)#接收客户端发来的消息,接受1024个字节
print(data)
coon.send(b"hai")#服务端收到消息后发送消息给客户端
coon.close()#与客户端断开连接
server.close()#关闭服务器
posted @ 2018-09-03 20:15  魏三斗  阅读(225)  评论(0)    收藏  举报