回显流服务器

TCP:

服务器:

# _*_ coding: utf-8 _*_
import socket

srvsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
srvsock.bind(('', 23000))
srvsock.listen(5)

while 1: # 循环处理各个客户机连接
    # 调用accept方法并阻塞(即并不会返回),直到有新客户机连接到它为止,此时会返回新的客户机socket,以及远程客户机的地址信息。
    clisock, (remhost, remport) = srvsock.accept() 
    str = clisock.recv(100) # 从socket接收数据,最多buflen个字符
    clisock.send(str)
    clisock.close()

客户端:

# _*_ coding: utf-8 _*_

import socket
clisock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clisock.connect(('', 23000))
clisock.send("Hello World\n")
print clisock.recv(100)
clisock.close()

 

UDP(无连接的):

服务器:

# 数据报(无连接的)
import socket

dgramSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
dgramSock.bind(('', 23000))

while 1: # 循环处理各个客户机连接
    msg, (addr, port) = dgramSock.recvfrom(100)
    dgramSock.sendto(msg, (addr, port)) #将消息发到指定的地址
 

客户端:

# 数据报客户机
import socket
dgramSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
dgramSock.sendto("Hello World\n", ('', 23000))
print dgramSock.recv(100)
dgramSock.close()
 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值